苹果是否删除了&;=来自Swift 1.2的布尔人操作员?

苹果是否删除了&;=来自Swift 1.2的布尔人操作员?,swift,Swift,XCode 6.3在带有布尔值的&=上返回编译错误 “&=”不可用:请改用“&&”运算符 例如: var myBool = false myBool &= true 知道它为什么被移除了吗 我猜他们删除了它,因为&=是其他类型的位运算符,所以它作为布尔运算的逻辑运算符是不一致的(而且Bool上的位运算可能不受欢迎),所以实际上应该是&=。因为它的效用最小,所以没有定义。但是如果你想要的话: infix operator &&= { associativity r

XCode 6.3在带有布尔值的
&=
上返回编译错误

“&=”不可用:请改用“&&”运算符

例如:

var myBool = false
myBool &= true

知道它为什么被移除了吗

我猜他们删除了它,因为
&=
是其他类型的位运算符,所以它作为布尔运算的逻辑运算符是不一致的(而且
Bool
上的位运算可能不受欢迎),所以实际上应该是
&=
。因为它的效用最小,所以没有定义。但是如果你想要的话:

infix operator &&= {
    associativity right
    precedence 90
    assignment
}

func &&=(inout lhs: Bool, @autoclosure rhs: ()->Bool) {
    lhs = lhs && rhs
}

var myBool = true
myBool &&= false

可能是因为他们不知道如何使它一致地工作。在什么情况下?一个具体的例子会很有帮助,
var A=123;设b=454;a&=b
编译时没有问题。(然而,它不适用于布尔型。但我不知道它是否适用于布尔型。)是的,它适用于以前版本的Swift
&&=
操作符,似乎已经存在于Swift中。请看文档中的点分配可能已经过时了,我认为该运算符已从Xcode 6 beta 4中的std库中删除。是的,经过检查,它在早期版本中仅被定义为运算符,从未在任何函数中实际实现,后来被完全删除。医生错了。