Open swift-ci opened 3 years ago
@swift-ci create
This is failing in the merge-module phase, we are moving away from relying on merge-module in incremental builds for issues like this one. Using the whole-module compilation mode is the best workaround currently available for compilers distributed with Xcode.
If you're interested to experiment with the open-source compiler, you can download a toolchain from https://swift.org/download/#snapshots and add the flag `-experimental-emit-module-separately` to the Other Swift Flag build settings of your project. This will turn on an alternative incremental build mode that is more parallelized and doesn't use the merge-module phase.
Comment by Ivan Vavilov (JIRA)
Yeah, I moved to the whole module for a while. But then I noticed crashes on iOS 12 and 13 on launch. So I changed my code a little bit, and that solved my problem.
Attachment: Download
Environment
macOS BugSur 11.2.3 (20D91), MacBook Pro (13-inch M1, 2020) Xcode Version 12.4 (12D4e) Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28) Target: arm64-apple-darwin20.3.0Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | Compiler | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: d26cff97322f966de55370664c0b8baaIssue Description:
Changing compilation mode to whole module helps to get a successful build.
But later I discovered crashes at a start of my iOS app at iOS 12/13.
Anyway, IMO there are should be a descriptive error about what's wrong.
After some research, I found that happened because of the circular dependency between ViewController and Router, they both have generic to each other.
I attached a sample project where you can reproduce that error.
To remove the circular dependency you can change these two declarations
to these