You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I assume you talk about incremental determinism. And yes, if a compiler has a bug and incorrectly specifies a list of dependency files in .d file, XCRemoteCache can overcache. The same problem would surface for a non-cacheable build in Xcode but there is always a fallback: clean DerivedData and build from scratch again. To be prepared for such edge-cases, we introduced --targets-exclude parameter which, as name suggests, forces the local build for that target. Fortunately, we haven't got that problem yet so maybe it is not that common.
Regarding other determinism, we know that basic will not be met and all class of literals like Swift's#filepath may have rubbish value. As we don't compare byte level dependencies (e.g. swiftmodule has its own "fingerprint" that is carried over), we will not have false positives/negatives but just incorrect data - which developers could expect if they use such a risky macro/literal.
This assumes the compiler is deterministic. It is not proven so.
The text was updated successfully, but these errors were encountered: