title: std::swap returns 0xBAADF00D
body: <p>I'm trying to swap two std::list&lt; dontcare* >::iterators under Visual 2005.</p>
  
  <pre><code>Iter it1 = ... ,it2 = ...; // it1 and it2 are ok, not end() or such
  if(...){
      std::swap(it1,it2);
  }
  </code></pre>
  
  <p>The swap works, but when I leave the if() scope, it1 points to 0xbaadfood. It2 is ok though.I tried several variations, including swap_iter and a hand-made swap.</p>
  
  <p>Any help appreciated :)</p>
  
  <p>EDIT</p>
  
  <p>Ok, so shame time.</p>
  
  <p>The swapped it1 was a local variable in the if's scope.</p>
  
  <p>F**king cut'n pasting. Sorry for wasting your time :/</p>