rust/src/test/ui/no_share-enum.rs
Niko Matsakis fda3378e3f introduce negative_impls feature gate and document
They used to be covered by `optin_builtin_traits` but negative impls
are now applicable to all traits, not just auto traits.

This also adds docs in the unstable book for the current state of auto traits.
2020-03-26 06:52:55 -04:00

17 lines
270 B
Rust

#![feature(negative_impls)]
use std::marker::Sync;
struct NoSync;
impl !Sync for NoSync {}
enum Foo { A(NoSync) }
fn bar<T: Sync>(_: T) {}
fn main() {
let x = Foo::A(NoSync);
bar(x);
//~^ ERROR `NoSync` cannot be shared between threads safely [E0277]
}