8sa1-gcc/gcc/testsuite/g++.dg/cpp0x/implicit17.C
Paolo Carlini 49c1f7a6c5 re PR c++/63540 (Erroneous "'Derived' declares a move constructor or move assignment operator" in error.)
2019-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63540
	* g++.dg/cpp0x/implicit17.C: New.

From-SVN: r269508
2019-03-08 21:22:07 +00:00

19 lines
342 B
C

// PR c++/63540
// { dg-do compile { target c++11 } }
template <typename T,
typename = decltype(*static_cast<T*>(0) = 0)> int break_it();
template <typename> int break_it();
struct Base {
Base(const Base &);
void operator=(Base &&);
};
struct Derived : Base {
using Base::operator=;
};
int a = break_it<Derived>();
Derived v(v);