If that user-written default constructor would be ill-formed,
the program is ill-formed.
If that user-written default constructor would satisfy the requirements
of a constexpr function ([dcl.constexpr]
), the implicitly-defined
default constructor is constexpr.
Before the defaulted default constructor for a class is
all the non-user-provided default constructors for its base classes and
its non-static data members are implicitly defined.
An implicitly-declared default constructor has an
exception specification ([except.spec]
An explicitly-defaulted definition might have an
implicit exception specification, see [dcl.fct.def].
— end note