If the source and destination of the assignment are not the same object, then
for each object nested within ([intro.object]
the object that is the source of the copy,
a corresponding object o
nested within the destination is created,
and the lifetime of o
begins before the copy is performed.