在Xcode 8.3.2 / Swift 3.1上通过扩展引入协议导致“Abort trap:6”

时间:2017-05-26 17:44:26

标签: swift xcode

以下代码导致Swift编译器与Command failed due to signal: Abort trap 6崩溃:

import UIKit

protocol ZeroProtocol {
    static var zero: Self { get }
}

// CGPoint already has CGPoint.zero so we attempt to adopt ZeroProtocol.
// This causes "Abort trap: 6" on compilation.
extension CGPoint: ZeroProtocol {} 

我几乎可以肯定这个代码几个月前编译没有遇到麻烦。奇怪的是,采用我自己的struct的协议不会产生任何错误:

import UIKit

protocol ZeroProtocol {
    static var zero: Self { get }
}

struct TestStruct {
    static var zero = TestStruct()
}

// Works fine.
extension TestStruct: ZeroProtocol {}

我已向Apple提交了错误报告,但任何解决方法都会受到赞赏。

0 个答案:

没有答案