在Swift中使用Generic作为属性类型时出错

mic*_*ila 6 swift xcode6

当使用Generic作为属性的类型约束时,我遇到了问题.这是一个非常简单的例子:

import UIKit

class TSSignal<MessageType> {

    var message: MessageType?

    init() {
    }

}
Run Code Online (Sandbox Code Playgroud)

在Xcode 6 Beta(6A215l)中,这将无法编译.它失败,底部出现以下错误:

TSSignal.swift:13:9: error: unimplemented IR generation feature non-fixed class layout var message: MessageType? ^ LLVM ERROR: unimplemented IRGen feature! non-fixed class layout Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc??hain/usr/bin/swift failed with exit code 
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除该行var message: MessageType?,它将构建良好.有任何想法吗?谢谢.

编辑 - 更改了代码和错误以反映当前的问题状态

编辑 - 相关:子类化NSObject和使用泛型时的Swift编译错误

更新(2014年6月18日) - 从Xcode 6 - Beta 2开始,该问题仍然存在

更新(2014年7月25日) - 问题仍然存在,从Xcode 6 - Beta 4开始(感谢@Ralfonso,我也验证了)

更新(2014年8月4日) - 从Xcode 6 - Beta 5开始,问题已解决!

Eri*_*rik 1

编辑编辑:

这绝对是编译器中的一个错误。

我尝试使用以下方法“智胜”编译器:

class TSSignal<TMessage>
{
    var messageType : Optional<TMessage> = nil

    init() { }
}
Run Code Online (Sandbox Code Playgroud)

同样的问题。