std::make_shared() change in C++17 : <p>In <a href="http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared" rel="noreferrer">cppref</a>, the following holds until C++17:</p>

<blockquote>
  <p>code such as <code>f(std::shared_ptr&lt;int&gt;(new int(42)), g())</code> can cause a
  memory leak if <code>g</code> gets called after <code>new int(42)</code> and throws an
  exception, while <code>f(std::make_shared&lt;int&gt;(42), g())</code> is safe, since
  two function calls are never interleaved.</p>
</blockquote>

<p>I'm wondering which change introduced in C++17 renders this no longer applicable.</p>
