Rust Send and Sync
Send means ownership of a value can be transferred across threads. Sync means shared references to a type can be safely shared across threads. Rust uses these marker traits to prevent many concurrency errors at compile time.
Marker traits that express safe cross-thread transfer and shared access.