这是来自Swift的Dollar框架的函数:
public class func bind<T, E>(function: (T...) -> E, _ parameters: T...) -> (() -> E) {
return { () -> E in
typealias TType = (T...)
return function(unsafeBitCast(parameters, TType.self))
}
}
在typealias
的行中,我收到了Cannot create a variadic tuple
错误。当我删除T...
周围的大括号时,我收到Consecutive statements on a line must be separated by ';'
错误。所以,这不是一个解决方案。
是否有人知道解决方法以解决错误?
这发生在XCode 6 Beta 6之后,它今天(真的)发布了。
答案 0 :(得分:1)
现在已在Dollar项目中修复此问题。但对于在另一个项目中遇到此问题的人来说,解决它的方法是在函数本身上执行unsafeBitCast,这将解决编译问题。
typealias Function = [T] -> E
let f = unsafeBitCast(function, Function.self)
f(params)