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