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
357 B
Text
10 lines
357 B
Text
440.lean:1:21-1:22: error: don't know how to synthesize placeholder
|
|
context:
|
|
⊢ True
|
|
440.lean:4:29-4:30: error: don't know how to synthesize placeholder
|
|
context:
|
|
x : Nat
|
|
⊢ Nat
|
|
f (x : Nat) : Nat
|
|
440.lean:11:0-11:9: error: cannot evaluate expression that depends on the `sorry` axiom.
|
|
Use `#eval!` to evaluate nevertheless (which may cause lean to crash).
|