From c2b3cae7d468e1eb2ff7d9886ac364757fe0c11e Mon Sep 17 00:00:00 2001 From: Ben Price Date: Fri, 2 Jun 2023 23:33:06 +0100 Subject: [PATCH] fix: stable kind cache when AddConField --- primer/src/Primer/App.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/primer/src/Primer/App.hs b/primer/src/Primer/App.hs index c926ad0dc..985af17f4 100644 --- a/primer/src/Primer/App.hs +++ b/primer/src/Primer/App.hs @@ -152,7 +152,7 @@ import Primer.Core ( _exprMeta, _exprMetaLens, _type, - _typeMetaLens, + _typeMetaLens, Kind (KType), ) import Primer.Core.DSL (S, create, emptyHole, tEmptyHole) import Primer.Core.DSL qualified as DSL @@ -839,8 +839,10 @@ applyProgAction prog mdefName = \case $ Nothing ) where - updateType = - alterTypeDef + updateType = + let new' = runReaderT (liftError (ActionError . TypeError) $ fmap TC.typeTtoType $ TC.checkKind KType =<< generateTypeIDs new) + (progCxt prog) + in alterTypeDef ( traverseOf #astTypeDefConstructors $ maybe (throwError $ ConNotFound con) pure <=< findAndAdjustA @@ -848,7 +850,7 @@ applyProgAction prog mdefName = \case ( traverseOf #valConArgs ( maybe (throwError $ IndexOutOfRange index) pure - <=< liftA2 (insertAt index) (generateTypeIDs new) . pure + <=< liftA2 (insertAt index) new' . pure ) ) )