1 error[E0308]: mismatched types
2 --> $DIR/issue-24036.rs:3:9
5 | ^^^^^^^^^ expected closure, found a different closure
7 = note: expected type `[closure@$DIR/issue-24036.rs:2:17: 2:26]`
8 found type `[closure@$DIR/issue-24036.rs:3:9: 3:18]`
9 = note: no two closures, even if identical, have the same type
10 = help: consider boxing your closure and/or using it as a trait object
12 error[E0308]: match arms have incompatible types
13 --> $DIR/issue-24036.rs:8:13
15 LL | let x = match 1usize {
17 LL | | //~^ ERROR match arms have incompatible types
18 LL | | 1 => |c| c + 1,
19 LL | | 2 => |c| c - 1,
20 | | --------- match arm with an incompatible type
23 | |_____^ expected closure, found a different closure
25 = note: expected type `[closure@$DIR/issue-24036.rs:10:14: 10:23]`
26 found type `[closure@$DIR/issue-24036.rs:11:14: 11:23]`
27 = note: no two closures, even if identical, have the same type
28 = help: consider boxing your closure and/or using it as a trait object
30 error: aborting due to 2 previous errors
32 For more information about this error, try `rustc --explain E0308`.