2 #![deny(unused_results, unused_must_use)]
3 //~^ NOTE: the lint level is defined here
4 //~| NOTE: the lint level is defined here
9 #[must_use = "some message"]
10 enum MustUseMsg { Test2 }
12 fn foo
<T
>() -> T { panic!() }
14 fn bar() -> isize { return foo::<isize>(); }
15 fn baz() -> MustUse { return foo::<MustUse>(); }
16 fn qux() -> MustUseMsg { return foo::<MustUseMsg>(); }
18 #[allow(unused_results)]
21 foo
::<MustUse
>(); //~ ERROR: unused `MustUse` that must be used
22 foo
::<MustUseMsg
>(); //~ ERROR: unused `MustUseMsg` that must be used
23 //~^ NOTE: some message
26 #[allow(unused_results, unused_must_use)]
34 foo
::<isize>(); //~ ERROR: unused result of type `isize`
35 foo
::<MustUse
>(); //~ ERROR: unused `MustUse` that must be used
36 foo
::<MustUseMsg
>(); //~ ERROR: unused `MustUseMsg` that must be used
37 //~^ NOTE: some message
39 let _
= foo
::<isize>();
40 let _
= foo
::<MustUse
>();
41 let _
= foo
::<MustUseMsg
>();