8
8
9
9
#line 1 "pure2-bugfix-for-dependent-types.cpp2"
10
10
11
- #line 47 "pure2-bugfix-for-dependent-types.cpp2"
11
+ #line 49 "pure2-bugfix-for-dependent-types.cpp2"
12
12
template <typename T> class t ;
13
13
14
14
@@ -18,16 +18,18 @@ template<typename T> class t;
18
18
template <typename T> using identity = T;
19
19
#line 2 "pure2-bugfix-for-dependent-types.cpp2"
20
20
21
+ template <typename T> auto f ([[maybe_unused]] typename T::value_type& unnamed_param_1) -> void;
22
+ template <typename T> auto f ([[maybe_unused]] typename T::value_type&& unnamed_param_1) -> void;
21
23
template <typename T, T::value_type V> [[nodiscard]] auto f (cpp2::impl::in<typename T::value_type> x) -> T::value_type;
22
24
23
- #line 47 "pure2-bugfix-for-dependent-types.cpp2"
25
+ #line 49 "pure2-bugfix-for-dependent-types.cpp2"
24
26
template <typename T> class t {
25
27
struct u_x_as_base { typename T::value_type x; };
26
28
27
- #line 48 "pure2-bugfix-for-dependent-types.cpp2"
29
+ #line 50 "pure2-bugfix-for-dependent-types.cpp2"
28
30
public: class u : public u_x_as_base , public T ::type {
29
31
30
- #line 51 "pure2-bugfix-for-dependent-types.cpp2"
32
+ #line 53 "pure2-bugfix-for-dependent-types.cpp2"
31
33
// Test that there's no `typename` in the member initializer list.
32
34
public: u(u const & that);
33
35
};
@@ -41,6 +43,10 @@ auto main() -> int;
41
43
#line 1 "pure2-bugfix-for-dependent-types.cpp2"
42
44
43
45
#line 3 "pure2-bugfix-for-dependent-types.cpp2"
46
+ template <typename T> auto f ([[maybe_unused]] typename T::value_type& unnamed_param_1) -> void{}
47
+ #line 4 "pure2-bugfix-for-dependent-types.cpp2"
48
+ template <typename T> auto f ([[maybe_unused]] typename T::value_type&& unnamed_param_1) -> void{}
49
+ #line 5 "pure2-bugfix-for-dependent-types.cpp2"
44
50
template <typename T, T::value_type V> [[nodiscard]] auto f (cpp2::impl::in<typename T::value_type> x) -> T::value_type{
45
51
if (cpp2::cpp2_default.is_active () && !(cpp2::impl::is<typename T::value_type>(x)) ) { cpp2::cpp2_default.report_violation (" " ); }
46
52
cpp2::impl::deferred_init<typename T::value_type> y;
@@ -85,12 +91,12 @@ template<typename T, T::value_type V> [[nodiscard]] auto f(cpp2::impl::in<typena
85
91
}
86
92
}
87
93
88
- #line 52 "pure2-bugfix-for-dependent-types.cpp2"
94
+ #line 54 "pure2-bugfix-for-dependent-types.cpp2"
89
95
template <typename T> t<T>::u::u(u const & that)
90
96
: u_x_as_base{ that.x }
91
97
, T::type{ static_cast <typename T::type const &>(that) }{}
92
98
93
- #line 57 "pure2-bugfix-for-dependent-types.cpp2"
99
+ #line 59 "pure2-bugfix-for-dependent-types.cpp2"
94
100
auto main () -> int{
95
101
using zero = std::integral_constant<cpp2::i32,0 >;
96
102
static_cast <void >(f<zero,0 >(0 ));
0 commit comments