I can reproduce with minimal command line code:
struct Foo {
let value: Int
let (aaa, bbb) = ("aaa", "bbb") // bbb is wrong! it's "aaa" but should be "bbb"
// uncomment this to make the compiler fail with non-zero exit
// let (z1, z2, z3) = ("one", 1, Double.pi)
func tellMe() {
print(foo.aaa)
print(foo.bbb) // output: aaa
assert(aaa == "aaa")
assert(bbb == "bbb", "bbb should be bbb but it's \(bbb)")
}
}
let foo = Foo(value: 1)
foo.tellMe()
print("Hello")
I'm not sure if incorrect tuple destructure and the compiler non-zero exit are related so I filed two bugs:
FB13224203 compiler non-zero exit
FB13224237 incorrect tuple destructure
Bug report doesn't ask which version of Xcode. I'm on Xcode Version 15.0 (15A240d)
Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)