Is this undefined behaviour?

Note that types that can implement Copy cannot have a Drop implementation or drop glue; so “value being dropped” equates to “no-op”.