about summary refs log tree commit diff
path: root/tests/ui/polymorphization/unsized_cast.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/polymorphization/unsized_cast.rs')
-rw-r--r--tests/ui/polymorphization/unsized_cast.rs30
1 files changed, 0 insertions, 30 deletions
diff --git a/tests/ui/polymorphization/unsized_cast.rs b/tests/ui/polymorphization/unsized_cast.rs
deleted file mode 100644
index 749e21f4e5b..00000000000
--- a/tests/ui/polymorphization/unsized_cast.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-//@ build-fail
-//@ compile-flags:-Zpolymorphize=on
-#![feature(fn_traits, rustc_attrs, unboxed_closures)]
-
-// This test checks that the polymorphization analysis considers a closure
-// as using all generic parameters if it does an unsizing cast.
-
-#[rustc_polymorphize_error]
-fn foo<T: Default>() {
-    let _: T = Default::default();
-    (|| Box::new(|| {}) as Box<dyn Fn()>)();
-    //~^ ERROR item has unused generic parameters
-    //~^^ ERROR item has unused generic parameters
-}
-
-#[rustc_polymorphize_error]
-fn foo2<T: Default>() {
-    let _: T = Default::default();
-    (|| {
-        //~^ ERROR item has unused generic parameters
-        let call: extern "rust-call" fn(_, _) = Fn::call;
-        call(&|| {}, ());
-        //~^ ERROR item has unused generic parameters
-    })();
-}
-
-fn main() {
-    foo::<u32>();
-    foo2::<u32>();
-}