class A { init() throws { } } class B { lazy var instance = A() }
这段代码使用XCode 9和最新的Swift版本编译时没有错误,除非Class A init()真正抛出,否则lazy var是空指针.但不应该以某种方式编译这段代码?
我已经打开了拉动请求来解决这个问题(#17022).
编辑:补丁现在已被挑选到4.2分支,所以它将被修复为使用Xcode 10发布Swift 4.2(直到发布你可以try a 4.2 snapshot).