previously, `#eval` would happily evaluate expressions that contain `sorry`, either explicitly or because of failing tactics. In conjunction with operations like array access this can lead to the lean process crashing, which isn't particularly great. So how `#eval` will refuse to run code that (transitively) depends on the `sorry` axiom (using the same code as `#print axioms`). If the user really wants to run it, they can use `#eval!`. Closes #1697
10 lines
439 B
Text
10 lines
439 B
Text
phashmap_inst_coherence.lean:12:53-12:54: error: application type mismatch
|
|
m.find?
|
|
argument
|
|
m
|
|
has type
|
|
@PersistentHashMap Nat Nat instBEqNat instHashableNat : Type
|
|
but is expected to have type
|
|
@PersistentHashMap Nat Nat instBEqNat natDiffHash : Type
|
|
phashmap_inst_coherence.lean:12:0-12:56: error: cannot evaluate expression that depends on the `sorry` axiom.
|
|
Use `#eval!` to evaluate nevertheless (which may cause lean to crash).
|