class A { A() = default; }; struct B : A { }; B b; This should be rejected, but 4.6, 4.7 and 4.8 accept it. (4.4 also accepts it, while 4.5 rejects it for a different reason.)
This issue may have similar reasons as bug 54812.
*** Bug 57913 has been marked as a duplicate of this bug. ***
This has just hit me again and is quite annoying if you do this specifically to prevent deletion via pointer-to-base: *** This bug has been marked as a duplicate of bug 54812 ***