https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82360
--- Comment #2 from David Binderman <dcb314 at hotmail dot com> --- Here is a possibly better example, that is legal C++ code: class a {}; template <class> class b { b(b &&c) : d(static_cast<a &&>(c.d)) {} a d; };