1 error[E0308]: mismatched types
2 --> $DIR/issue-24036.rs:3:9
4 LL | let mut x = |c| c + 1;
5 | --- the expected closure
7 | ^^^^^^^^^ expected closure, found a different closure
9 = note: expected closure `[closure@$DIR/issue-24036.rs:2:17: 2:20]`
10 found closure `[closure@$DIR/issue-24036.rs:3:9: 3:12]`
11 = note: no two closures, even if identical, have the same type
12 = help: consider boxing your closure and/or using it as a trait object
14 error[E0282]: type annotations needed
15 --> $DIR/issue-24036.rs:9:15
20 help: consider giving this closure parameter an explicit type
22 LL | 1 => |c: /* Type */| c + 1,
25 error: aborting due to 2 previous errors
27 Some errors have detailed explanations: E0282, E0308.
28 For more information about an error, try `rustc --explain E0282`.