lean4-htt/tests/elab/2226.lean
Kyle Miller 8f1c18d9f4
feat: pretty print level metavariables using index (#13030)
This PR improves pretty printing of level metavariables: they now print
with a per-definition index rather than their per-module internal
identifiers. Furthermore, `+` is printed uniformly in level expressions
with surrounding spaces. **Breaking metaprogramming change:** level
pretty printing should use `delabLevel` or `MessageData.ofLevel`;
functions such as `format` or `toString` do not have access to the
indices, since they are stored in the current metacontext. Absent index
information, metavariables print with the raw internal identifier as
`?_mvar.nnn`. **Note:** The heartbeat counter also increases quicker due
to counting allocations that record level metavariable indices. In some
tests we needed to increase `maxHeartbeats` by 20–50% to compensate,
without a corresponding slowdown.
2026-04-01 22:34:29 +00:00

17 lines
261 B
Text

/--
error: unsolved goals
A : Nat
⊢ Sort ?u.2
-/
#guard_msgs in
variable (A : Nat) (B : by skip)
/-- error: Failed to infer type of definition `foo` -/
#guard_msgs in
def foo :=
A = B
/-- warning: declaration uses `sorry` -/
#guard_msgs in
def boo :=
B