La deducción de argumento de plantilla de clase falló con la clase derivada

#include <utility>

template<class T1, class T2>
struct mypair : std::pair<T1, T2>
{ using std::pair<T1, T2>::pair; };

int main()
{
    (void)std::pair(2, 3); // It works
    (void)mypair(2, 3);    // It doesn't work
}

¿Está bien hecho lo anterior?

¿Es posible deducir los argumentos de la plantilla de clase en el segundo caso si los constructores están siendo heredados? Son los constructores destd::pair participando en la creación de guías de deducción implícita paramypair?

Mi compilador es g ++ 7.2.0.

Respuestas a la pregunta(2)

Su respuesta a la pregunta