https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70647
--- Comment #4 from Matt Godbolt <matt at godbolt dot org> --- Agreed re: cast/FE. I couldn't quite get your example to fail as the "o" parameter is unusued (which would be a good clue! #include <utility> // for std::move struct B { int a; int b; B(B &&o) : a(b), b(o.a) {} }; passes just fine though; which is grist for the mill for bug 19808 being fixed (e.g. https://godbolt.org/g/QHLCQv ) Thanks again!