段错误时,相关的类型遵循的协议(Segfault when Associated Type conf

2019-10-21 07:41发布

试图编译下面的代码时,我有斯威夫特编译一个段错误的问题。

我已经张贴在这个错误报告,但不知道:
1)我在做什么错误的本质
2)有一个“方法”,我可以用它来实现类似的结果。 我想不会,但我会很感激你可能有什么想法

class Foo<T, U: AnyObject> {

}

protocol Bar {
  typealias T: AnyObject // <- that appears to be the problem
  func foo() -> Foo<Self, T>
}

extension String: Bar {
  func foo() -> Foo<String, NSString> {
    return Foo<String, NSString>()
  }
}
文章来源: Segfault when Associated Type conforms to a protocol