Which module cache invalidation signal does Swift use for private implementation changes?
Swift's incremental build system caches compiled modules as .swiftmodule files to avoid recompiling unchanged dependencies. In recent Swift toolchains, the compiler evaluates file timestamps and dependency hashes to decide whether a cached module remains valid. A known area of uncertainty involves changes confined to a module's private implementation—such as