Math Swift枚举递归关联值

Math Swift枚举递归关联值,math,recursion,enums,swift,Math,Recursion,Enums,Swift,我正在尝试使用Swift中的枚举创建一个数学表达式。 此枚举可以是一个常量,其关联值类型为ComplexNumber(简单结构)。它也可以是平方根表达式,具有递归关联值。 例如,我希望能够在枚举中存储sqrt(sqrt(1+2i)) enum Expression { case Sqrt(Expression) case Constant(ComplexNumber) } Xcode(6 beta 2)立即崩溃。有什么问题吗? 从我在《Swift指南》中读到的关于相关值的内容来

我正在尝试使用Swift中的枚举创建一个数学表达式。 此枚举可以是一个常量,其关联值类型为ComplexNumber(简单结构)。它也可以是平方根表达式,具有递归关联值。 例如,我希望能够在枚举中存储sqrt(sqrt(1+2i))

enum Expression {
    case Sqrt(Expression)
    case Constant(ComplexNumber)
}
Xcode(6 beta 2)立即崩溃。有什么问题吗?
从我在《Swift指南》中读到的关于相关值的内容来看,这应该是可行的。

自beta 4版以来,Swift 2.0现在已经可以使用了。 发布说明中的示例:

 enum List<T> {
   case Nil
   indirect case Cons(head: T, tail: List<T>)
 }

 indirect enum Tree<T> {
   case Leaf(T)
   case Branch(left: Tree<T>, right: Tree<T>)
 }
枚举列表{
无案例
间接病例对照(头部:T,尾部:列表)
}
间接枚举树{
箱叶(T)
案例分支(左:树,右:树)
}

它尚未实施。这里是我得到的:
错误:未实现的IR生成功能递归枚举布局
Xcode不应该崩溃。但我怀疑递归枚举是不可能的。枚举是值类型,具有关联值的枚举类似于C联合。我假设它们的大小在编译时是已知的。只是好奇你为什么要使用Sqrt()表达式枚举类型本身?@TheLazyChap我想他们想创建一个公式解释器或类似的东西,表达式是一个计算,Sqrt是一个计算本身。可能是