// there is no user-declared move assignment operator, a copy assignment
// operator is implicitly declared as defaulted.
if ((ClassDecl->hasUserDeclaredMoveConstructor() &&
- !getLangOptions().MicrosoftExt) ||
- ClassDecl->hasUserDeclaredMoveAssignment() &&
+ !getLangOptions().MicrosoftMode) ||
+ ClassDecl->hasUserDeclaredMoveAssignment() ||
ShouldDeleteCopyAssignmentOperator(CopyAssignment))
CopyAssignment->setDeletedAsWritten();
// declared as defaulted.
if (ClassDecl->hasUserDeclaredMoveConstructor() ||
(ClassDecl->hasUserDeclaredMoveAssignment() &&
- !getLangOptions().MicrosoftExt) ||
+ !getLangOptions().MicrosoftMode) ||
ShouldDeleteSpecialMember(CopyConstructor, CXXCopyConstructor))
CopyConstructor->setDeletedAsWritten();
};
int b = 3;
A var = { b }; // expected-warning {{ cannot be narrowed }} expected-note {{override}}
-
-namespace PR11826 {
- struct pair {
- pair(int v) { }
- void operator=(pair&& rhs) { }
- };
- void f() {
- pair p0(3);
- pair p = p0;
- }
-}
-
-namespace PR11826_for_symmetry {
- struct pair {
- pair(int v) { }
- pair(pair&& rhs) { }
- };
- void f() {
- pair p0(3);
- pair p(4);
- p = p0;
- }
-}