blob: a6545179c52f0d268e89e6f8466718e9a5144895 [file] [edit]
import Lean
open Lean
unsafe def tst1 : MetaM Unit := do
let e := mkApp (mkSort Level.zero) (mkSort Level.zero)
let e' := e.updateApp! (mkSort Level.zero) (mkSort Level.zero)
assert! ptrAddrUnsafe e == ptrAddrUnsafe e'
let e' := e.replace fun _ => none
assert! ptrAddrUnsafe e == ptrAddrUnsafe e'
#eval tst1
set_option trace.Compiler.saveMono true
def sefFn (e : Expr) (f : Expr) : Expr :=
match e with
| .app _ a => e.updateApp! f a
| _ => e