fix(frontend): Capture local instances in MetaTranslate #242

Merged
aniva merged 4 commits from bug/meta-translate-local-instances into dev 2025-07-13 23:03:14 -07:00
2 changed files with 5 additions and 2 deletions
Showing only changes of commit 01e18acdbd - Show all commits

View File

@ -111,7 +111,7 @@ partial def translateLCtx : MetaTranslateM LocalContext := do
let lctx ← MonadLCtx.getLCtx
assert! lctx.isEmpty
(← getSourceLCtx).foldlM (λ lctx srcLocalDecl => do
let localDecl ← Meta.withLCtx lctx #[] do
let localDecl ← Meta.withLCtx' lctx do
translateLocalDecl srcLocalDecl
pure $ lctx.addDecl localDecl
) lctx
@ -148,7 +148,9 @@ def translateMVarFromTermInfo (termInfo : Elab.TermInfo) (context? : Option Elab
}) do
let type := termInfo.expectedType?.get!
let lctx' ← translateLCtx
--let localInstances' ← srcDecl.localInstances.mapM translateLocalInstance
let mvar ← Meta.withLCtx lctx' #[] do
Meta.withLocalInstances (lctx'.decls.toList.filterMap id) do
let type' ← translateExpr type
trace[Pantograph.Frontend.MetaTranslate] "Translating from term info {← Meta.ppExpr type'}"
Meta.mkFreshExprSyntheticOpaqueMVar type'

View File

@ -1,4 +1,3 @@
import LSpec
import Test.Delate
import Test.Environment
import Test.Frontend
@ -9,6 +8,8 @@ import Test.Proofs
import Test.Serial
import Test.Tactic
import LSpec
-- Test running infrastructure
namespace Pantograph.Test