2 // compile-flags:-Zpolymorphize=on
3 #![feature(rustc_attrs)]
5 // This test checks that the polymorphization analysis doesn't break when the
6 // function/closure doesn't just have generic parameters.
8 // Function has an unused generic parameter.
9 #[rustc_polymorphize_error]
10 pub fn unused<'a, T>(_: &'a u32) {
11 //~^ ERROR item has unused generic parameters
14 #[rustc_polymorphize_error]
15 pub fn used<'a, T: Default>(_: &'a u32) -> u32 {
16 let _: T = Default::default();
17 let add_one = |x: u32| x + 1;
18 //~^ ERROR item has unused generic parameters