std :: pair <T1, T2> não deveria ter um construtor padrão trivial se T1 e T2 tiverem?

Eu tive um problema porque

 std::is_trivially_default_constructible<std::pair<T1,T2>>::value == false;

mesmo se

 std::is_trivially_default_constructible<T1>::value == true;
 std::is_trivially_default_constructible<T2>::value == true;

Não consegui encontrar uma boa razão para este design. Não seria apropriado parastd::pair<T1,T2> ter um=default construtor seT1 eT2 ter?

Existe uma solução simples (mais simples do que definir minha própriapair<>)?

questionAnswers(2)

yourAnswerToTheQuestion