1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#![feature(negative_impls)] use std::marker::Send; struct NoSend; impl !Send for NoSend {} enum Foo { A(NoSend) } fn bar<T: Send>(_: T) {} fn main() { let x = Foo::A(NoSend); bar(x); //~^ ERROR `NoSend` cannot be sent between threads safely }