These types also wanted to be/were copy assignable, and using the implicit copy ctor is deprecated in the presence of an explicit copy ctor. Removing the explicit copy ctor provides the desired behavior - both ctor and assignment operator are available implicitly. Also while I was nearby there were some missing std::moves on shared pointer parameters.
14 KiB
14 KiB