OLD | NEW |
| (Empty) |
1 // RUN: %clang_cc1 -std=c++11 %s -verify | |
2 | |
3 // expected-no-diagnostics | |
4 | |
5 namespace PR15757 { | |
6 struct S { | |
7 }; | |
8 | |
9 template<typename X, typename Y> struct T { | |
10 template<typename A> T(X x, A &&a) {} | |
11 | |
12 template<typename A> explicit T(A &&a) | |
13 noexcept(noexcept(T(X(), static_cast<A &&>(a)))) | |
14 : T(X(), static_cast<A &&>(a)) {} | |
15 }; | |
16 | |
17 template<typename X, typename Y> struct U : T<X, Y> { | |
18 using T<X, Y>::T; | |
19 }; | |
20 | |
21 U<S, char> foo(char ch) { return U<S, char>(ch); } | |
22 | |
23 int main() { | |
24 U<S, int> a(42); | |
25 U<S, char> b('4'); | |
26 return 0; | |
27 } | |
28 } | |
OLD | NEW |