1 error[E0308]: mismatched types
2 --> $DIR/issue-24036.rs:13:9
5 | ^^^^^^^^^ expected closure, found a different closure
7 = note: expected type `[closure@$DIR/issue-24036.rs:12:17: 12:26]`
8 found type `[closure@$DIR/issue-24036.rs:13:9: 13: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:18: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:20:14: 20:23]`
26 found type `[closure@$DIR/issue-24036.rs:21:14: 21: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`.