From 4d179a9efcaf7b4d378d69c4ba976435ac565096 Mon Sep 17 00:00:00 2001 From: Luke Lau Date: Sun, 16 Jun 2019 00:53:37 +0200 Subject: [PATCH] Fix UriCaches being leaked MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes UriCaches from being leaked via GhcModuleCaches. This is the result of 72 hours at ZuriHac between 3 people and a lot of time spent in gdb. Blog post coming soon Co-Authored-By: Matthew Pickering Co-Authored-By: Daniel Gröber --- hie-plugin-api/Haskell/Ide/Engine/PluginsIdeMonads.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hie-plugin-api/Haskell/Ide/Engine/PluginsIdeMonads.hs b/hie-plugin-api/Haskell/Ide/Engine/PluginsIdeMonads.hs index 0be920042..468d9cbce 100644 --- a/hie-plugin-api/Haskell/Ide/Engine/PluginsIdeMonads.hs +++ b/hie-plugin-api/Haskell/Ide/Engine/PluginsIdeMonads.hs @@ -455,7 +455,7 @@ withIndefiniteProgress t c f = do Just wp -> control $ \run -> wp t c (run f) data IdeState = IdeState - { moduleCache :: GhcModuleCache + { moduleCache :: !GhcModuleCache -- | A queue of requests to be performed once a module is loaded , requestQueue :: Map.Map FilePath [UriCacheResult -> IdeM ()] , extensibleState :: !(Map.Map TypeRep Dynamic)