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 @@ -786,17 +786,18 @@ garbageCollectKeys label maxAge checkParents agedKeys = do
786
786
where
787
787
removeDirtyKey st@ (vmap,(! counter, keys)) (k, age)
788
788
| age > maxAge
789
- , fromKeyType k `notElem` preservedKeys checkParents
789
+ , Just kt <- fromKeyType k
790
+ , not (kt `HSet.member` preservedKeys checkParents)
790
791
, (True , vmap') <- HMap. alterF (\ prev -> (isJust prev, Nothing )) k vmap
791
792
= (vmap', (counter+ 1 , k: keys))
792
793
| otherwise = st
793
794
794
795
countRelevantKeys :: CheckParents -> [Key ] -> Int
795
796
countRelevantKeys checkParents =
796
- Prelude. length . filter (( `notElem ` preservedKeys checkParents) . fromKeyType)
797
+ Prelude. length . filter (maybe False ( not . ( `HSet.member ` preservedKeys checkParents) ) . fromKeyType)
797
798
798
- preservedKeys :: CheckParents -> [ Maybe TypeRep ]
799
- preservedKeys checkParents = map Just $
799
+ preservedKeys :: CheckParents -> HashSet TypeRep
800
+ preservedKeys checkParents = HSet. fromList $
800
801
-- always preserved
801
802
[ typeOf GetFileExists
802
803
, typeOf GetModificationTime
You can’t perform that action at this time.
0 commit comments