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
|
-- ^ 'cacheFile' timestamp
|
||||||
tcFiles :: [TimedFile]
|
tcFiles :: [TimedFile]
|
||||||
-- ^ Timestamped files returned by the cached action
|
-- ^ Timestamped files returned by the cached action
|
||||||
}
|
} deriving (Eq, Ord, Show)
|
||||||
|
|
||||||
type ChCacheData = (Programs, FilePath, FilePath, (Version, [Char]))
|
type ChCacheData = (Programs, FilePath, FilePath, (Version, [Char]))
|
||||||
|
@ -267,7 +267,8 @@ resolvedComponentsCache = Cached {
|
|||||||
-> [FilePath]
|
-> [FilePath]
|
||||||
flatten = Map.elems
|
flatten = Map.elems
|
||||||
>>> map (gmcHomeModuleGraph >>> gmgGraph
|
>>> map (gmcHomeModuleGraph >>> gmgGraph
|
||||||
>>> Map.elems
|
>>> (Map.keysSet &&& Map.elems)
|
||||||
|
>>> uncurry insert
|
||||||
>>> map (Set.map mpPath)
|
>>> map (Set.map mpPath)
|
||||||
>>> Set.unions
|
>>> Set.unions
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user