rust/src/test/ui/issues/issue-24036.stderr
Esteban Küber 9e934e2215 Reweork incompatible match arms error
- Point at the body expression of the match arm with the type error.
- Point at the prior match arms explicitely stating the evaluated type.
- Point at the entire match expr in a secondary span, instead of primary.
- For type errors in the first match arm, the cause is outside of the
  match, treat as implicit block error to give a more appropriate error.
2019-02-07 05:39:54 -08:00

33 lines
1.3 KiB
Plaintext

error[E0308]: mismatched types
--> $DIR/issue-24036.rs:3:9
|
LL | x = |c| c + 1;
| ^^^^^^^^^ expected closure, found a different closure
|
= note: expected type `[closure@$DIR/issue-24036.rs:2:17: 2:26]`
found type `[closure@$DIR/issue-24036.rs:3:9: 3:18]`
= note: no two closures, even if identical, have the same type
= help: consider boxing your closure and/or using it as a trait object
error[E0308]: match arms have incompatible types
--> $DIR/issue-24036.rs:10:14
|
LL | let x = match 1usize {
| _____________-
LL | | 1 => |c| c + 1,
| | --------- this is found to be of type `[closure@$DIR/issue-24036.rs:9:14: 9:23]`
LL | | 2 => |c| c - 1,
| | ^^^^^^^^^ expected closure, found a different closure
LL | | _ => |c| c - 1
LL | | };
| |_____- `match` arms have incompatible types
|
= note: expected type `[closure@$DIR/issue-24036.rs:9:14: 9:23]`
found type `[closure@$DIR/issue-24036.rs:10:14: 10:23]`
= note: no two closures, even if identical, have the same type
= help: consider boxing your closure and/or using it as a trait object
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`.