title: Why would a new[] expression ever invoke a destructor?
body: <p>From the C++17 standard (draft <a href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2017/n4659.pdf" rel="noreferrer">here</a>), [expr.new]:</p>
  
  <blockquote>
    <p>If the <em>new-expression</em> creates an object or an array of objects of class type, access and ambiguity control are done for the allocation function, the deallocation function, and the constructor. <strong>If the <em>new-expression</em> creates an array of objects of class type, the destructor is potentially invoked.</strong></p>
  </blockquote>
  
  <p>Why would <code>new[]</code> invoke a destructor? It's <em>new,</em> after all. It isn't <em>delete.</em></p>