Swift 协议扩展默认变量实现引发分段错误11

Swift 协议扩展默认变量实现引发分段错误11,swift,Swift,我想用变量的默认实现创建协议扩展。这个简单的代码抛出了分段错误11,它也在操场上崩溃了。 删除“set”关键字时效果很好,但在实现此协议的类中,我不能简单地将值设置为“test”变量 有什么建议吗 import UIKit protocol Prot { var test: Int { get set } } extension Prot { var test: Int { return 1 } } struct TestStruct: Prot {

我想用变量的默认实现创建协议扩展。这个简单的代码抛出了分段错误11,它也在操场上崩溃了。 删除“set”关键字时效果很好,但在实现此协议的类中,我不能简单地将值设置为“test”变量 有什么建议吗

import UIKit

protocol Prot {
    var test: Int { get set }
}

extension Prot {
    var test: Int {
        return 1
    }
}

struct TestStruct: Prot {

}

如果你得到了一个分段错误,那么它肯定是一个快速编译器错误。 尽管如此,这段代码仍然不应该编译

原因是您的扩展为
test
定义了一个默认的
get
,但是
TestStruct
没有
集,因此它还不符合
Prot
。 如果该bug不存在,您可能会收到一条错误消息,内容大致如下:
TestStruct不符合Prot协议


p、 美国:考虑将一个bug发送到bugs.swift.org,因为这是一个非常简单的示例,我们将非常感谢它

谢谢,它现在可以添加
set
。我要把这个bug提交给Swift项目