Fix nasty module graph caching issue
resolvedComponentsCache did not consider outgoing edges in the module graph when computing the set of dependent files i.e. for `A -> B, A -> C` `flatten` would give [B,C] instead of [A,B,C]
This commit is contained in:
parent
58ae1271a3
commit
a383f46939
@ -47,6 +47,6 @@ data TimedCacheFiles = TimedCacheFiles {
|
||||
-- ^ 'cacheFile' timestamp
|
||||
tcFiles :: [TimedFile]
|
||||
-- ^ Timestamped files returned by the cached action
|
||||
}
|
||||
} deriving (Eq, Ord, Show)
|
||||
|
||||
type ChCacheData = (Programs, FilePath, FilePath, (Version, [Char]))
|
||||
|
@ -267,7 +267,8 @@ resolvedComponentsCache = Cached {
|
||||
-> [FilePath]
|
||||
flatten = Map.elems
|
||||
>>> map (gmcHomeModuleGraph >>> gmgGraph
|
||||
>>> Map.elems
|
||||
>>> (Map.keysSet &&& Map.elems)
|
||||
>>> uncurry insert
|
||||
>>> map (Set.map mpPath)
|
||||
>>> Set.unions
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user