Swift布尔值<invalid>

And*_*can 11 boolean-operations swift

附加的屏幕截图说明了一切:我有一个有效的真Bool,我用bang操作符否定它,并且(Xcode告诉我)我的值无效.

看来这个"无效"值的行为就好像是假的.但真的,wtf?

在此输入图像描述

And*_*eas 0

我不是 LLVM 专家,但我对这种行为一点也不感到惊讶,除非优化设置为Onone在这种情况下它应该让你的代码保持独立。毕竟,中间变量只是要求被优化掉。