]> git.lizzy.rs Git - rust.git/blob - src/test/ui/lint/lint-unused-variables.rs
Rollup merge of #63055 - Mark-Simulacrum:save-analysis-clean-2, r=Xanewok
[rust.git] / src / test / ui / lint / lint-unused-variables.rs
1 // compile-flags: --cfg something
2 // edition:2018
3
4 #![feature(async_await, async_closure, param_attrs)]
5 #![deny(unused_variables)]
6
7 async fn foo_async(
8     a: i32,
9     //~^ ERROR unused variable: `a`
10     #[allow(unused_variables)] b: i32,
11 ) {}
12 fn foo(
13     #[allow(unused_variables)] a: i32,
14     b: i32,
15     //~^ ERROR unused variable: `b`
16 ) {}
17
18 struct RefStruct {}
19 impl RefStruct {
20     async fn bar_async(
21         &self,
22         a: i32,
23         //~^ ERROR unused variable: `a`
24         #[allow(unused_variables)] b: i32,
25     ) {}
26     fn bar(
27         &self,
28         #[allow(unused_variables)] a: i32,
29         b: i32,
30         //~^ ERROR unused variable: `b`
31     ) {}
32 }
33 trait RefTrait {
34     fn bar(
35         &self,
36         #[allow(unused_variables)] a: i32,
37         b: i32,
38         //~^ ERROR unused variable: `b`
39     ) {}
40 }
41 impl RefTrait for RefStruct {
42     fn bar(
43         &self,
44         #[allow(unused_variables)] a: i32,
45         b: i32,
46         //~^ ERROR unused variable: `b`
47     ) {}
48 }
49
50 fn main() {
51     let _: fn(_, _) = foo;
52     let a = async move |
53         a: i32,
54         //~^ ERROR unused variable: `a`
55         #[allow(unused_variables)] b: i32,
56     | {};
57     let b = |
58         #[allow(unused_variables)] a: i32,
59         b: i32,
60         //~^ ERROR unused variable: `b`
61     | {};
62     let _ = a(1, 2);
63     let _ = b(1, 2);
64 }