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
14 lines
756 B
Text
14 lines
756 B
Text
a : Nat
|
|
|
|
prvCtor.lean:25:23-25:61: error: invalid {...} notation, constructor for `Lean.Environment` is marked as private
|
|
prvCtor.lean:23:0-25:61: error: cannot evaluate expression that depends on the `sorry` axiom.
|
|
Use `#eval!` to evaluate nevertheless (which may cause lean to crash).
|
|
prvCtor.lean:27:7-27:8: error: unknown identifier 'a'
|
|
prvCtor.lean:29:25-29:27: error: overloaded, errors
|
|
failed to synthesize
|
|
EmptyCollection (Name "hello")
|
|
use `set_option diagnostics true` to get diagnostic information
|
|
|
|
invalid {...} notation, constructor for `Name` is marked as private
|
|
prvCtor.lean:31:25-31:34: error: invalid ⟨...⟩ notation, constructor for `Name` is marked as private
|
|
prvCtor.lean:33:25-33:40: error: unknown constant 'Name.mk'
|