File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed
ghcide/src/Development/IDE/Core Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -786,17 +786,18 @@ garbageCollectKeys label maxAge checkParents agedKeys = do
786786 where
787787 removeDirtyKey st@ (vmap,(! counter, keys)) (k, age)
788788 | age > maxAge
789- , fromKeyType k `notElem` preservedKeys checkParents
789+ , Just kt <- fromKeyType k
790+ , not (kt `HSet.member` preservedKeys checkParents)
790791 , (True , vmap') <- HMap. alterF (\ prev -> (isJust prev, Nothing )) k vmap
791792 = (vmap', (counter+ 1 , k: keys))
792793 | otherwise = st
793794
794795countRelevantKeys :: CheckParents -> [Key ] -> Int
795796countRelevantKeys checkParents =
796- Prelude. length . filter (( `notElem ` preservedKeys checkParents) . fromKeyType)
797+ Prelude. length . filter (maybe False ( not . ( `HSet.member ` preservedKeys checkParents) ) . fromKeyType)
797798
798- preservedKeys :: CheckParents -> [ Maybe TypeRep ]
799- preservedKeys checkParents = map Just $
799+ preservedKeys :: CheckParents -> HashSet TypeRep
800+ preservedKeys checkParents = HSet. fromList $
800801 -- always preserved
801802 [ typeOf GetFileExists
802803 , typeOf GetModificationTime
You can’t perform that action at this time.
0 commit comments