diff --git a/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift b/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift index cb3b7cbd6..de97afc2c 100644 --- a/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift +++ b/Sources/SwiftDriver/ExplicitModuleBuilds/InterModuleDependencies/CommonDependencyOperations.swift @@ -267,12 +267,13 @@ internal extension InterModuleDependencyGraph { return } - // If no more dependencies, this is a leaf node, we are done - guard let dependencies = sourceInfo.directDependencies else { - return + var allDependencies = sourceInfo.directDependencies ?? [] + if case .swift(let swiftModuleDetails) = sourceInfo.details, + let overlayDependencies = swiftModuleDetails.swiftOverlayDependencies { + allDependencies.append(contentsOf: overlayDependencies) } - for dependency in dependencies { + for dependency in allDependencies { try findAllPaths(source: dependency, to: moduleName, pathSoFar: pathSoFar + [dependency],