title: Is it UB to re-use an object's storage without destroying it first?
body: <p>Given non-POD type <code>T</code>:</p>
  
  <pre><code>auto p = new T();
  ::new (p) T();
  /* ... */
  delete p;
  </code></pre>
  
  <p>This is UB, right?</p>
  
  <p>Clearly I'm not directly leaking the memory allocated for that first <code>T</code> (and if it has no indirect members then I'm not leaking anything at all), but it never got destructed, which seems to me to be a great candidate for spontaneous annihilation of galaxies populated by sentient cat-like beings.</p>
  
  <p><sub>Thanks to <a href="https://stackoverflow.com/users/500104/xeo">@Xeo</a> for, um, "inspiring" this question in the C++ Lounge.</sub></p>