1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-23 07:06:19 +02:00

Update send-sync.md (#258)

Adding notes that these traits are not to be implemented directly. Yet they are still to be used as normal traits in generic constraints.
This commit is contained in:
Igor Petruk 2023-01-23 07:51:41 +00:00 committed by GitHub
parent 905d0a067e
commit 77a60d4101
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,5 +7,16 @@ How does Rust know to forbid shared access across thread? The answer is in two t
* [`Sync`][2]: a type `T` is `Sync` if it is safe to move a `&T` across a thread
boundary.
Both traits are not to be implemented. They are implemented automatically when
the compiler determines it’s appropriate.
[1]: https://doc.rust-lang.org/std/marker/trait.Send.html
[2]: https://doc.rust-lang.org/std/marker/trait.Sync.html
<details>
* One can think of these traits as markers that the type has certain
thread-safety properties.
* They can be used in the generic constraints as normal traits.
</details>