https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86127
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Also your test is flawed. (In reply to Scott Constable from comment #0) > forward_list test > ================== These all come from the default constructor: > template copy constructor > move constructor > template copy constructor > template copy constructor > template copy constructor > template copy constructor Only this comes from the move constructor: > move constructor > map test > ================== These all come from the default constructor: > copy constructor > template copy constructor > move constructor Only this comes from the move constructor: > move constructor > > vector test > ================== Only this comes from the move constructor: > move constructor These all come from the destructors: > template copy constructor > template copy constructor > template copy constructor > template copy constructor So the move constructors all perform exactly one move construction, as required.