// RUN: %clang_cc1 -std=c++2b -fsyntax-only -verify=cxx2b,new %s
// RUN: %clang_cc1 -std=c++2b -fsyntax-only -fms-compatibility -verify=cxx2b,old %s
// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify=cxx20,old %s
// FIXME: This is a test for a temporary workaround where we disable simpler implicit moves
// in the STL when compiling with -fms-compatibility, because of issues with the
// implementation there.
// Feel free to delete this file when the workaround is not needed anymore.
;
int && // cxx20-error {{cannot bind to lvalue}}
int & // cxx2b-error {{cannot bind to a temporary}}
nocopy
// namespace
// namespace foo
// namespace std
int && // cxx20-error {{cannot bind to lvalue}}
int & // cxx2b-error {{cannot bind to a temporary}}
nocopy
// namespace
// namespace foo
// namespace std
int && // cxx20-error {{cannot bind to lvalue}}
int & // cxx2b-error {{cannot bind to a temporary}}
nocopy
// namespace
// namespace foo
// namespace std