]> git.lizzy.rs Git - rust.git/blob - src/test/ui/polymorphization/lifetimes.rs
Rollup merge of #99008 - obeis:issue-98974, r=compiler-errors
[rust.git] / src / test / ui / polymorphization / lifetimes.rs
1 // build-fail
2 // compile-flags:-Zpolymorphize=on
3 #![feature(rustc_attrs)]
4
5 // This test checks that the polymorphization analysis doesn't break when the
6 // function/closure doesn't just have generic parameters.
7
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
12 }
13
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
19     add_one(3)
20 }
21
22 fn main() {
23     unused::<u32>(&3);
24     used::<u32>(&3);
25 }