diff options
Diffstat (limited to 'test/SemaCXX/cxx11-inheriting-ctors.cpp')
-rw-r--r-- | test/SemaCXX/cxx11-inheriting-ctors.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/SemaCXX/cxx11-inheriting-ctors.cpp b/test/SemaCXX/cxx11-inheriting-ctors.cpp index c9e01188fd..7d6f4f09f0 100644 --- a/test/SemaCXX/cxx11-inheriting-ctors.cpp +++ b/test/SemaCXX/cxx11-inheriting-ctors.cpp @@ -105,3 +105,31 @@ namespace PR31606 { // Note, we do *not* allow operator=='s argument to use the inherited A::A(Base&&) constructor to construct from B{}. bool b = A{} == B{}; // expected-error {{invalid operands}} } + +namespace implicit_member_srcloc { + template<class T> + struct S3 { + }; + + template<class T> + struct S2 { + S2(S3<T> &&); + }; + + template<class T> + struct S1 : S2<T> { + using S2<T>::S2; + S1(); + }; + + template<class T> + struct S0 { + S0(); + S0(S0&&) = default; + S1<T> m1; + }; + + void foo1() { + S0<int> s0; + } +} |