Occurs when you do this with extensions :
protocol Ordered {
func precedes(other: Self) -> Bool
}
class Number {
var value: Double = 0
}
extension Number: Ordered {
func precedes(other: Number) -> Bool {
return self.value < other.value
}
}
extension Ordered where Self: Comparable {
func precedes(other: Self) -> Bool {
return self < other
}
}
Reported in navigator as "Command failed due to signal: Abort trap: 6"
Either of those extensions compiles fine by itself, crash only occurs when they both exist together.
Workaround :
extension Ordered where Self: Number {
func precedes(other: Number) -> Bool {
return self.value < other.value
}
}
Radar
21401180
HTH