Remix.run Logo
▲ aw1621107 2 hours ago

Looks like it depends on the specific operation(s) you want to perform [0]. For instance, constructing a std::polymorphic<T> from an object of type T or derived from T requires that that object is copy-constructible (among other requirements), but copy-assigning one std::polymorphic<T> to another only requires that T is complete.

[0]: https://eel.is/c++draft/polymorphic

▲MFHava 13 minutes ago | parent [-]

Well, https://eel.is/c++draft/polymorphic#assign-2.2 requires copy-constructibility.