msvc has_copy_ctor