Currently default-initialization and value-initialization act bizzarely compared to each other. Specifically default-initialization is required to call trivial constructors when value-initialization is not.
For example:
struct T { int x; };
// default_init is initialized by a call to the trivial default ctor.