7
7
#include " cpp2util.h"
8
8
9
9
10
- #line 46 "pure2-bugfix-for-dependent-types.cpp2"
10
+ #line 47 "pure2-bugfix-for-dependent-types.cpp2"
11
11
template <typename T> class t ;
12
12
13
13
@@ -19,14 +19,14 @@ template<typename T> using identity = T;
19
19
template <typename T, T::value_type V> [[nodiscard]] auto f (cpp2::in<typename T::value_type> x) -> T::value_type;
20
20
21
21
22
- #line 46 "pure2-bugfix-for-dependent-types.cpp2"
22
+ #line 47 "pure2-bugfix-for-dependent-types.cpp2"
23
23
template <typename T> class t {
24
24
struct u_x_as_base { T::value_type x; };
25
25
26
- #line 47 "pure2-bugfix-for-dependent-types.cpp2"
26
+ #line 48 "pure2-bugfix-for-dependent-types.cpp2"
27
27
public: class u : public u_x_as_base , public T ::type {
28
28
29
- #line 50 "pure2-bugfix-for-dependent-types.cpp2"
29
+ #line 51 "pure2-bugfix-for-dependent-types.cpp2"
30
30
};
31
31
public: T::value_type x {0 };
32
32
};
@@ -48,6 +48,7 @@ template<typename T, T::value_type V> [[nodiscard]] auto f(cpp2::in<typename T::
48
48
// Dependent *template-id*s.
49
49
(void ) typename identity<T>::value_type{};// First identifier.
50
50
(void ) typename std::optional<T>::value_type{};// Non-first identifier.
51
+ (void ) typename std::array<cpp2::i32 ,T::value>::value_type{};
51
52
52
53
// Emitted `template`.
53
54
using ptr = T*; // Needed, pending #502.
@@ -81,7 +82,7 @@ template<typename T, T::value_type V> [[nodiscard]] auto f(cpp2::in<typename T::
81
82
}
82
83
}
83
84
84
- #line 54 "pure2-bugfix-for-dependent-types.cpp2"
85
+ #line 55 "pure2-bugfix-for-dependent-types.cpp2"
85
86
auto main () -> int{
86
87
using zero = std::integral_constant<cpp2::i32 ,0 >;
87
88
(void ) f<zero,0 >(0 );
0 commit comments