//! Test negative Sync implementation on structs. //! //! Uses the unstable `negative_impls` feature to explicitly opt-out of Sync. #![feature(negative_impls)] use std::marker::Sync; struct NotSync { value: isize, } impl !Sync for NotSync {} fn requires_sync(_: T) {} fn main() { let not_sync = NotSync { value: 5 }; requires_sync(not_sync); //~^ ERROR `NotSync` cannot be shared between threads safely [E0277] }