lean4-htt/tests/elab/abstractMVars.lean
Garmelon 08eb78a5b2
chore: switch to new test/bench suite (#12590)
This PR sets up the new integrated test/bench suite. It then migrates
all benchmarks and some related tests to the new suite. There's also
some documentation and some linting.

For now, a lot of the old tests are left alone so this PR doesn't become
even larger than it already is. Eventually, all tests should be migrated
to the new suite though so there isn't a confusing mix of two systems.
2026-02-25 13:51:53 +00:00

23 lines
778 B
Text

import Lean
/-!
# Tests of the `Lean.Meta.abstractMVars` procedure
-/
open Lean Meta
/-!
The following example used to abstract `levelMVar` even though it was assigned.
The issue was that the procedure failed to instantiateMVars in the types of metavariables.
Reported on Zulip: https://leanprover.zulipchat.com/#narrow/channel/239415-metaprogramming-.2F-tactics/topic/.60abstractMVars.60.20not.20instantiating.20level.20mvars/near/541918246
-/
/-- info: [] -/
#guard_msgs in
run_meta
let levelMVar ← mkFreshLevelMVar
let mvar ← mkFreshExprMVar (some (mkSort levelMVar))
discard <| isDefEq (mkSort levelMVar) (mkSort (mkLevelParam `u))
let mvar ← instantiateMVars mvar
let abstractResult ← abstractMVars mvar
Lean.logInfo m!"{abstractResult.paramNames}"