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.
23 lines
778 B
Text
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}"
|