This PR improves the “expected type mismatch” error message by omitting the type's types when they are defeq, and putting them into separate lines when not. I found it rather tediuos to parse the error message when the expected type is long, because I had to find the `:` in the middle of a large expression somewhere. Also, when both are of sort `Prop` or `Type` it doesn't add much value to print the sort (and it’s only one hover away anyways).
16 lines
582 B
Text
16 lines
582 B
Text
typeOf.lean:11:22-11:25: error: failed to synthesize
|
|
HAdd Nat Nat Bool
|
|
|
|
Hint: Additional diagnostic information may be available using the `set_option diagnostics true` command.
|
|
typeOf.lean:12:0-12:5: error: failed to synthesize
|
|
HAdd Bool Nat Nat
|
|
|
|
Hint: Additional diagnostic information may be available using the `set_option diagnostics true` command.
|
|
typeOf.lean:20:56-20:62: error: invalid reassignment, term has type
|
|
Bool
|
|
but is expected to have type
|
|
Nat
|
|
typeOf.lean:29:55-29:59: error: natural number expected, value has type
|
|
Bool
|
|
but is expected to have type
|
|
Nat
|