Shared data structure in
model crate implements
Sync traits regardless of the inner type.
This allows safe Rust code to trigger a data race, which is undefined behavior in Rust.
Users are advised to treat
Shared as an unsafe type.
It should not be used outside of the testing context,
and care must be taken so that the testing code does not have a data race
besides a race condition that is expected to be caught by the test.
Check the Rustonomicon for the difference between
a data race and a general race condition.