title: Should std::move drop constness?
body: <p>The following code compiles and runs on MSVC2010, should it?</p>
  
  <pre><code>const std::string s = "foo";
  std::string s2(std::move(s));
  </code></pre>
  
  <p>I can see why this probably wouldn't break anything since if I take s's internals I have to know that no one is going to use it so it dosn't matter that I'm dropping const. However what about where the compiler implements const objects in ROM (in an embedded application)? Would the move turn into a copy then? Or should MSVC be giving me an error?</p>