about summary refs log tree commit diff
path: root/src/test/ui/generator/issue-57017.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/generator/issue-57017.rs')
-rw-r--r--src/test/ui/generator/issue-57017.rs55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/test/ui/generator/issue-57017.rs b/src/test/ui/generator/issue-57017.rs
deleted file mode 100644
index c0bde3b4473..00000000000
--- a/src/test/ui/generator/issue-57017.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-// build-pass
-// compile-flags: -Zdrop-tracking
-#![feature(generators, negative_impls)]
-
-macro_rules! type_combinations {
-    (
-        $( $name:ident => { $( $tt:tt )* } );*
-    ) => { $(
-        mod $name {
-            pub mod unsync {
-                $( $tt )*
-
-                impl !Sync for Client {}
-            }
-            pub mod unsend {
-                $( $tt )*
-
-                impl !Send for Client {}
-            }
-        }
-
-        // This is the same bug as issue 57017, but using yield instead of await
-        {
-            let g = move || match drop(&$name::unsync::Client::default()) {
-                _status => yield,
-            };
-            assert_send(g);
-        }
-
-        // This tests that `Client` is properly considered to be dropped after moving it into the
-        // function.
-        {
-            let g = move || match drop($name::unsend::Client::default()) {
-                _status => yield,
-            };
-            assert_send(g);
-        }
-    )* }
-}
-
-fn assert_send<T: Send>(_thing: T) {}
-
-fn main() {
-    type_combinations!(
-        copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
-        derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
-        significant_drop => {
-            #[derive(Default)]
-            pub struct Client;
-            impl Drop for Client {
-                fn drop(&mut self) {}
-            }
-        }
-    );
-}