// An explicitly defaulted function can have a ref-qualifier. | |
// { dg-require-effective-target c++11 } | |
struct A { | |
A& operator=(const A&) & = default; | |
}; | |
template<class T> | |
struct B { | |
B& operator=(const B&) & = default; | |
}; | |
template<class T> | |
void f() | |
{ | |
B<T> b; | |
b = B<T>(); | |
B<T>() = b; // { dg-error "" } | |
} | |
int main() | |
{ | |
A a; | |
a = A(); | |
A() = a; // { dg-error "" } | |
f<int>(); | |
} |