lean4-htt/tests/elab/updateExprIssue.lean
Kim Morrison 66bc9ae177
chore: deprecate levelZero and levelOne (#12720)
This PR deprecates `levelZero` in favor of `Level.zero` and `levelOne`
in favor of the new `Level.one`, and updates all usages throughout the
codebase. The `levelZero` alias was previously required for computed
field `data` to work, but this is no longer needed.

🤖 Prepared with Claude Code
2026-03-04 01:03:08 +00:00

18 lines
464 B
Text

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