blob: feb5b3e75706cd847f8497defed112cfb0787c56 [file] [edit]
import Lean
namespace Foo
open Lean.Elab.Term
syntax (name := fooKind) "foo!" term : term
@[term_elab fooKind] def elabFoo : TermElab :=
fun stx expectedType? => elabTerm (stx.getArg 1) expectedType?
/-- info: 10 : Nat -/
#guard_msgs in
#check foo! 10
end Foo
namespace Lean
namespace Elab
namespace Tactic
open Meta
@[builtin_tactic clear] def myEvalClear : Tactic := -- this fails in the old-frontend because it eagerly resolves `clear` as `Lean.Meta.clear`.
fun _ => pure ()
end Tactic
end Elab
end Lean