]> git.lizzy.rs Git - rust.git/blob - tests/ui/mismatched_types/ref-pat-suggestions.rs
Rollup merge of #104965 - zacklukem:p-option-as_ref-docs, r=scottmcm
[rust.git] / tests / ui / mismatched_types / ref-pat-suggestions.rs
1 // run-rustfix
2
3 fn _f0(&_a: u32) {} //~ ERROR mismatched types
4 fn _f1(&mut _a: u32) {} //~ ERROR mismatched types
5 fn _f2(&&_a: &u32) {} //~ ERROR mismatched types
6 fn _f3(&mut &_a: &mut u32) {} //~ ERROR mismatched types
7 fn _f4(&&mut _a: &u32) {} //~ ERROR mismatched types
8 fn _f5(&mut &mut _a: &mut u32) {} //~ ERROR mismatched types
9
10 fn main() {
11     let _: fn(u32) = |&_a| (); //~ ERROR mismatched types
12     let _: fn(u32) = |&mut _a| (); //~ ERROR mismatched types
13     let _: fn(&u32) = |&&_a| (); //~ ERROR mismatched types
14     let _: fn(&mut u32) = |&mut &_a| (); //~ ERROR mismatched types
15     let _: fn(&u32) = |&&mut _a| (); //~ ERROR mismatched types
16     let _: fn(&mut u32) = |&mut &mut _a| (); //~ ERROR mismatched types
17
18     let _ = |&_a: u32| (); //~ ERROR mismatched types
19     let _ = |&mut _a: u32| (); //~ ERROR mismatched types
20     let _ = |&&_a: &u32| (); //~ ERROR mismatched types
21     let _ = |&mut &_a: &mut u32| (); //~ ERROR mismatched types
22     let _ = |&&mut _a: &u32| (); //~ ERROR mismatched types
23     let _ = |&mut &mut _a: &mut u32| (); //~ ERROR mismatched types
24
25     #[allow(unused_mut)]
26     {
27         struct S(u8);
28
29         let &mut _a = 0; //~ ERROR mismatched types
30         let S(&mut _b) = S(0); //~ ERROR mismatched types
31         let (&mut _c,) = (0,); //~ ERROR mismatched types
32
33         match 0 {
34             &mut _d => {} //~ ERROR mismatched types
35         }
36     }
37 }