title: Can I in-place construct in Rust?
body: <p>I like <code>emplace()</code>ing in C++ which allows to save on move construction and destruction: e.g. <code>strings.push_back("abcd"s)</code> means</p>
  
  <blockquote>
    <p>construct, move, destruct the temporary</p>
  </blockquote>
  
  <p>while
  <code>strings.emplace_back("abcd")</code> is just "construct".</p>
  
  <p>Can anything similar be achieved in Rust (maybe with compiler optimizations)? The usual <code>vec.push(String::from("abcd"))</code> seems like (in C)</p>
  
  <blockquote>
    <p>construct + memcpy()</p>
  </blockquote>
  
  <p>I'm also interested in cases which are more complex than just pushing strings into a vector.</p>