// revisions: no_drop_tracking drop_tracking drop_tracking_mir // [drop_tracking] compile-flags: -Zdrop-tracking // [drop_tracking_mir] compile-flags: -Zdrop-tracking-mir // [drop_tracking] check-pass // [drop_tracking_mir] check-pass #![feature(negative_impls, generators)] struct Foo; impl !Send for Foo {} fn main() { assert_send(|| { //[no_drop_tracking]~^ ERROR generator cannot be sent between threads safely let guard = Foo; drop(guard); yield; }) } fn assert_send(_: T) {}