Hans Åberg wrote: > >>> Modern C++ (i.e., C++11 and later) introduced "move only" types: types > >>> such > >>> as std::unique_ptr<T> that can never be duplicated. They must never be > >>> copied (by assignments and constructors), they must be "moved". The > >>> implementation of lalr1.cc used to copy symbols (including their > >>> semantic > >>> values). This commit ensures that values are only moved in modern C++, > >>> yet > >>> remain compatible with C++98/C++03. > >> > >> Hopefully copy only types can still be used. So say: > > > > C++ will automatically copy when copy is available and move is not. > > Yes, but strictly, that is not what the above text says.
Depends on your definitions. IMHO in (modern) C++ "move" always implies "copy" if possible and necessary, though I wouldn't object to spelling it out here. Regards, Frank
