Do macOS ARM toolchains have assertions enabled?

i am running into an SIL assertion failure (in the swift-unidoc repository) that occurs only on macOS.

error: compile command failed due to signal 6 (use -v to see invocation)
SIL verification failed: cast cannot be used to remove move only wrapped?!: UI->getOperand()->getType().isMoveOnlyWrapped() == UI->getType().isMoveOnlyWrapped()

i cannot reproduce the compiler crash on linux, and i do not own a macOS computer i can use to reduce it to a fileable issue.

but before diving into a strategy for solving this, i am first confused as to why i am encountering an SIL verification failure on a release toolchain (https://download.swift.org/swift-5.10-release/xcode/swift-5.10-RELEASE/swift-5.10-RELEASE-osx.pkg ) in the first place, as i thought those were supposed to be disabled?

so based on slack discussion, the downloadable 5.10 toolchain does indeed have assertions enabled, and it is required to have Xcode 15.3 installed in order to use the Xcode-provided toolchain, which does not have assertions enabled.

since it is not always possible to install the latest Xcode version (e.g, in CI environment), i am interested in obtaining an assertionless 5.10 toolchain for macOS. does such a thing exist?

1 Like