|
11 | 11 | template<typename T> class t;
|
12 | 12 |
|
13 | 13 |
|
14 |
| -#line 105 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 14 | +#line 108 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
15 | 15 | template<typename T> class v;
|
16 | 16 |
|
17 | 17 |
|
@@ -45,15 +45,15 @@ template<typename T> auto id(cpp2::in<std::integral_constant<cpp2::i32,T::value>
|
45 | 45 | auto main() -> int;
|
46 | 46 |
|
47 | 47 |
|
48 |
| -#line 105 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 48 | +#line 108 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
49 | 49 | template<typename T> class v {
|
50 | 50 | public: explicit v(T const& x);
|
51 |
| -#line 106 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 51 | +#line 109 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
52 | 52 | public: auto operator=(T const& x) -> v& ;
|
53 | 53 |
|
54 | 54 | public: v(v const&) = delete; /* No 'that' constructor, suppress copy */
|
55 | 55 | public: auto operator=(v const&) -> void = delete;
|
56 |
| -#line 107 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 56 | +#line 110 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
57 | 57 | };
|
58 | 58 |
|
59 | 59 |
|
@@ -123,6 +123,9 @@ auto main() -> int{
|
123 | 123 | // Deducible parameters.
|
124 | 124 | (void) v{0};
|
125 | 125 | (void) []<typename T>(std::vector<T> const& x) -> void{}(std::vector<cpp2::i32>{});
|
| 126 | + (void) []<typename T>(std::vector<std::vector<T>> const& x) -> void{}(std::vector<std::vector<cpp2::i32>>{}); |
| 127 | + // Uncomment once `typename` is supported for template arguments. |
| 128 | + // _ = :<T, U> (x: std::pair<T, typename U::value_type>, y: U) = {}(:std::pair = (0, 0), z); |
126 | 129 | init(cpp2::out(&z.value()), z.value());
|
127 | 130 | id(z.value(), std::move(z.value()));
|
128 | 131 |
|
@@ -154,11 +157,11 @@ auto main() -> int{
|
154 | 157 | }(0);
|
155 | 158 | }
|
156 | 159 |
|
157 |
| -#line 106 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 160 | +#line 109 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
158 | 161 | template <typename T> v<T>::v(T const& x){}
|
159 |
| -#line 106 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 162 | +#line 109 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
160 | 163 | template <typename T> auto v<T>::operator=(T const& x) -> v& {
|
161 | 164 | return *this;
|
162 |
| -#line 106 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
| 165 | +#line 109 "pure2-bugfix-for-dependent-types-and-deducible-parameters.cpp2" |
163 | 166 | }
|
164 | 167 |
|
0 commit comments