blob: 5aea6b1a7f4718979a97de073e36b46250cefdca [file] [log] [blame]
class Foo {
Foo(Foo&& f);
};
class Bar {
explicit Bar(Bar&& f); // expected-error {{Move constructors may not be marked explicit}}
};
class Baz {
template<typename T>
explicit Baz(T&& f) {};
};
class Quxx {
Quxx();
Quxx(Quxx& q) = delete;
template<typename T>
explicit Quxx(T&& f) {};
};
void f() {
// Move a quxx into a quxx! (This speciailizes Quxx's constructor to look like
// a move constructor - to make sure it doesn't trigger)
Quxx(Quxx());
}