error[E0277]: `Cell` cannot be shared between threads safely --> $DIR/reentrantlockguard-sync.rs:13:15 | LL | test_sync(guard); | --------- ^^^^^ `Cell` cannot be shared between threads safely | | | required by a bound introduced by this call | = help: the trait `Sync` is not implemented for `Cell`, which is required by `ReentrantLockGuard<'_, Cell>: Sync` = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` or `std::sync::atomic::AtomicI32` instead = note: required for `ReentrantLockGuard<'_, Cell>` to implement `Sync` note: required by a bound in `test_sync` --> $DIR/reentrantlockguard-sync.rs:7:17 | LL | fn test_sync(_t: T) {} | ^^^^ required by this bound in `test_sync` error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0277`.