title: Why does Vec have trait Sync?
body: <p>According to the <a href="https://doc.rust-lang.org/std/vec/struct.Vec.html#synthetic-implementations" rel="nofollow noreferrer">documentation</a>, <code>Vec&lt;T&gt;</code> implements <code>Sync</code> if <code>T</code> implements <code>Sync</code>. It seems it's generated automatically by some magic, but I feel this is counter-intuitive since a naive implementation for vectors is not thread-safe.</p>
  
  <p>Is <code>Vec&lt;T&gt;</code> in Rust really <code>Sync</code>?</p>