When compiling the code below, the output should obviously be "move", but instead, I see "copy". The compiler should be implicitly defining a move constructor for the track class that uses the move constructor of the root member, but seems to be using a defaulted copy constructor instead. Adding explicit move and copy constructors to the track class results in the expected behavior. (Discovered in MSVC10 express, confirmed in VS11 with November CRT)
Visual Studio/Team Foundation Server/.NET Framework Tooling Version
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results