about summary refs log tree commit diff
path: root/tests/ui/generator/drop-tracking-parent-expression.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/generator/drop-tracking-parent-expression.rs')
-rw-r--r--tests/ui/generator/drop-tracking-parent-expression.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/ui/generator/drop-tracking-parent-expression.rs b/tests/ui/generator/drop-tracking-parent-expression.rs
index d40f1b8f64d..61e81330b09 100644
--- a/tests/ui/generator/drop-tracking-parent-expression.rs
+++ b/tests/ui/generator/drop-tracking-parent-expression.rs
@@ -1,4 +1,7 @@
-// compile-flags: -Zdrop-tracking
+// revisions: no_drop_tracking drop_tracking drop_tracking_mir
+// [drop_tracking] compile-flags: -Zdrop-tracking
+// [drop_tracking_mir] compile-flags: -Zdrop-tracking-mir
+
 #![feature(generators, negative_impls, rustc_attrs)]
 
 macro_rules! type_combinations {
@@ -25,6 +28,7 @@ macro_rules! type_combinations {
             //~^ ERROR cannot be sent between threads
             //~| ERROR cannot be sent between threads
             //~| ERROR cannot be sent between threads
+            //[no_drop_tracking,drop_tracking_mir]~^^^^ ERROR cannot be sent between threads
         }
 
         // Simple owned value. This works because the Client is considered moved into `drop`,
@@ -34,6 +38,10 @@ macro_rules! type_combinations {
                 _ => yield,
             };
             assert_send(g);
+            //[no_drop_tracking,drop_tracking_mir]~^ ERROR cannot be sent between threads
+            //[no_drop_tracking,drop_tracking_mir]~| ERROR cannot be sent between threads
+            //[no_drop_tracking,drop_tracking_mir]~| ERROR cannot be sent between threads
+            //[no_drop_tracking,drop_tracking_mir]~| ERROR cannot be sent between threads
         }
     )* }
 }