Add a couple of default copy constructors to fix the warning.
Sounds good to me.
(my thought process, for posterity (beyond the fact that this code change makes explicit what was already happening/it doesn't change behavior): copy constructing a reference binds the new copy to the same entity as the original. This is different from copy assigning, which doesn't bind/rebind, but instead changes the value of the object referenced by the LHS reference to match the value of the object referenced by the RHS reference - so it seems good/proper that these types would have a non-trivial copy assignment, while wanting to opt back into the default copy construction)
Caused some failures due to public/private and the function was actually called in a number of places where it would need to be public. I'm not sure if we wanted to make this public... or do something else so reopening :)