// PR c++/54506 | |
// { dg-do compile { target c++11 } } | |
template <class T> | |
struct A | |
{ | |
A() {} | |
A(A const volatile &&) = delete; | |
A &operator =(A const volatile &&) = delete; | |
template <class U> A(A<U> &&) {} | |
template <class U> A &operator =(A<U> &&) { return *this; } | |
}; | |
struct B | |
{ | |
A<int> a; | |
B() = default; | |
}; | |
int main() | |
{ | |
B b = B(); | |
b = B(); | |
} |