// RUN: %target-run-simple-swift | %FileCheck %s // REQUIRES: executable_test // Missing Bool metadata when Bool is used as a generic // parameter or existential value prefix operator !! infix operator &&& protocol BooleanProtocol { var boolValue: Bool { get } } extension Bool : BooleanProtocol { var boolValue: Bool { return self } } prefix func !!(x: T) -> Bool { return x.boolValue } func &&&(x: BooleanProtocol, y: @autoclosure () -> BooleanProtocol) -> Bool { return x.boolValue ? y().boolValue : false } print(!!true) // CHECK: true print(!!false) // CHECK: false print(true &&& true) // CHECK: true print(true &&& false) // CHECK: false