Clang9 warning and compiler error with atomics

For the constructors, the runtime is doing kind of an implicit trivial copy constructor by memcpy’ing. Could you explain (or hint to an explanation) why we need a default constructor, ie T::T() in my previous example?

https://en.cppreference.com/w/cpp/language/destructor#Trivial_destructor
“A trivial destructor is a destructor that performs no action.”
This is guaranteed for “trivially copyable” types. Do you agree that we are fine with a trivial destructor?

Jonas