マーカートレイト

How does Rust know to forbid shared access across threads? The answer is in two traits:

  • Send: スレッド境界をまたいでの型Tのムーブが安全に行える場合、型TSendである。
  • Sync: スレッド境界をまたいで&Tのムーブが安全に行える場合、型TSyncである。

Send and Sync are unsafe traits. The compiler will automatically derive them for your types as long as they only contain Send and Sync types. You can also implement them manually when you know it is valid.

This slide should take about 2 minutes.
  • これらのトレイトは、ある型が特定のスレッドセーフの特性を持っていることを示すマーカーと考えることもできます。
  • これらは通常のトレイトと同じように、ジェネリック境界の中で利用することができます。