diff options
Diffstat (limited to 'tests/ui/polymorphization/unsized_cast.rs')
| -rw-r--r-- | tests/ui/polymorphization/unsized_cast.rs | 30 | 
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>(); -} | 
