23 lines
631 B
Text
23 lines
631 B
Text
import Lean
|
|
|
|
#eval match true with | true => false | false => true
|
|
|
|
open Lean Elab Command Meta
|
|
#eval show CommandElabM Unit from do
|
|
match ([] : List Nat) with
|
|
| [] =>
|
|
liftCoreM <| addDecl <| Declaration.defnDecl {
|
|
name := `foo
|
|
type := Lean.mkConst ``Bool
|
|
levelParams := []
|
|
value := Lean.mkConst ``true
|
|
hints := .opaque
|
|
safety := .safe
|
|
}
|
|
| _ => return ()
|
|
|
|
#check foo
|
|
-- The auxiliary declarations created to elaborate the commands above
|
|
-- should not leak into the environment
|
|
#check _eval.match_1 -- Should fail
|
|
#check _eval.match_2 -- Should fail
|