diff options
Diffstat (limited to 'tests/ui/sync/mutexguard-sync.rs')
-rw-r--r-- | tests/ui/sync/mutexguard-sync.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ui/sync/mutexguard-sync.rs b/tests/ui/sync/mutexguard-sync.rs new file mode 100644 index 000000000..b56418383 --- /dev/null +++ b/tests/ui/sync/mutexguard-sync.rs @@ -0,0 +1,13 @@ +// MutexGuard<Cell<i32>> must not be Sync, that would be unsound. +use std::sync::Mutex; +use std::cell::Cell; + +fn test_sync<T: Sync>(_t: T) {} + +fn main() +{ + let m = Mutex::new(Cell::new(0i32)); + let guard = m.lock().unwrap(); + test_sync(guard); + //~^ ERROR `Cell<i32>` cannot be shared between threads safely [E0277] +} |