为什么我得到一个错误,当我添加enum泛型类:
class TestClass<T>{
enum TestEnum {
case test
}
}
错误:1. While type-checking 'ExampleTest' at /Users/xxx/xxx/xx/xx/ExampleTest.swift:11:1
<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation)
Command /Applications/Xcode6-Beta3 2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254
但是当我这样做的时候我没有得到一个错误:
class TestClass{
enum TestEnum {
case test
}
}
或:
class TestClass<T>{
}
不能在泛型中嵌套任何类型,反之亦然。换句话说,您不能对类、结构体和枚举做这些事情:
class Outer<T> {
class Inner { }
}
和
class Outer {
class Inner<T> { }
}
和
class Outer<T> {
class Inner<T> { }
}
苹果公司解释了限制的原因:
这是一个实现限制。我们将取消一次限制我们的编译器和运行时能够正确处理嵌套的类型通用的上下文。
注:对不起,我发布的答案这么晚,但问题仍然存在(XCode 6.2)。
顺便说一下,有一个非常相似的问题