mudança std :: make_shared () no C ++ 17

Nocppref, o seguinte é válido até C ++ 17:

código comof(std::shared_ptr<int>(new int(42)), g())&nbsp;pode causar vazamento de memória seg&nbsp;é chamado depoisnew int(42)&nbsp;e lança uma exceção, enquantof(std::make_shared<int>(42), g())&nbsp;é seguro, pois duas chamadas de função nunca são intercaladas.

Gostaria de saber qual alteração introduzida no C ++ 17 torna isso não mais aplicável.