使用内联初始化程序时 swift class init 崩溃

Crash on swift class init when using inline initializers

我正在开发一个应用程序,遇到了无法解释的崩溃。

这个库相当复杂,所以我准备了一个最简单的例子

struct Info {
  static let test = 1
}

class SuperCls<A> {}

class Cls<A>: SuperCls<A> {
  let v: Info.Type = Info.self
}

let v = Cls<Int>()

当我在最后一行分配 class 时,此代码崩溃,并出现以下错误

file:///play.playground/: error: Playground execution aborted: error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=1, address=0x4403).

我也在一个xcode项目中尝试过,错误几乎相同

我找到了使此代码有效的方法

struct Info {
  static let test = 1
}

class SuperCls<A> {}

class Cls<A>: SuperCls<A> {
  var v: Info.Type?

  override init() {
    v = Info.self
    super.init()
  }
}

let v = Cls<Int>()

谁能告诉我为什么会发生这种崩溃? 谢谢!

更新

I also discovered that this works
struct Info {
  let test = 1
}

class SuperCls<A> {}

class Cls<A>: SuperCls<A> {
  let v = Info()
}

let v = Cls<Int>()

问题似乎与我使用 Info 作为类型并访问静态信息有关

好的,这似乎是 Xcode beta 5

中的一个错误

感谢帮助