1 error[E0308]: mismatched types
2 --> $DIR/issue-38371.rs:4:8
4 LL | fn foo(&foo: Foo) {
5 | ^^^^ expected struct `Foo`, found reference
7 = note: expected type `Foo`
9 = help: did you mean `foo: &Foo`?
11 error[E0308]: mismatched types
12 --> $DIR/issue-38371.rs:18:9
14 LL | fn agh(&&bar: &u32) {
17 | expected u32, found reference
18 | help: you can probably remove the explicit borrow: `bar`
20 = note: expected type `u32`
23 error[E0308]: mismatched types
24 --> $DIR/issue-38371.rs:21:8
26 LL | fn bgh(&&bar: u32) {
27 | ^^^^^ expected u32, found reference
29 = note: expected type `u32`
32 error[E0529]: expected an array or slice, found `u32`
33 --> $DIR/issue-38371.rs:24:9
35 LL | fn ugh(&[bar]: &u32) {
36 | ^^^^^ pattern cannot match with input type `u32`
38 error: aborting due to 4 previous errors
40 Some errors have detailed explanations: E0308, E0529.
41 For more information about an error, try `rustc --explain E0308`.