]> git.proxmox.com Git - rustc.git/blob - src/test/ui/nll/extra-unused-mut.rs
Update unsuspicious file list
[rustc.git] / src / test / ui / nll / extra-unused-mut.rs
1 // extra unused mut lint tests for #51918
2
3 // check-pass
4
5 #![feature(generators)]
6 #![deny(unused_mut)]
7
8 fn ref_argument(ref _y: i32) {}
9
10 // #51801
11 fn mutable_upvar() {
12 let mut x = 0;
13 move || {
14 x = 1;
15 };
16 }
17
18 // #50897
19 fn generator_mutable_upvar() {
20 let mut x = 0;
21 move || {
22 x = 1;
23 yield;
24 };
25 }
26
27 // #51830
28 fn ref_closure_argument() {
29 let _ = Some(0).as_ref().map(|ref _a| true);
30 }
31
32 struct Expr {
33 attrs: Vec<u32>,
34 }
35
36 // #51904
37 fn parse_dot_or_call_expr_with(mut attrs: Vec<u32>) {
38 let x = Expr { attrs: vec![] };
39 Some(Some(x)).map(|expr|
40 expr.map(|mut expr| {
41 attrs.push(666);
42 expr.attrs = attrs;
43 expr
44 })
45 );
46 }
47
48 // Found when trying to bootstrap rustc
49 fn if_guard(x: Result<i32, i32>) {
50 match x {
51 Ok(mut r) | Err(mut r) if true => r = 1,
52 _ => (),
53 }
54 }
55
56 // #59620
57 fn nested_closures() {
58 let mut i = 0;
59 [].iter().for_each(|_: &i32| {
60 [].iter().for_each(move |_: &i32| {
61 i += 1;
62 });
63 });
64 }
65
66 fn main() {}