【发布时间】:2016-10-25 15:46:46
【问题描述】:
对这个有点惊讶。在 Swift 3 中,这段代码编译...
class func test(foo:@autoclosure () -> Void)
{
}
但这不是...
typealias VoidHandler = () -> Void
class func test(foo:@autoclosure VoidHandler)
{
}
你得到...
error: @autoclosure attribute only applies to function types
为什么不呢?好像是同一个东西的别名吧?
【问题讨论】:
-
你是对的 Marquel,这已被报告为 Swift 3 中的一个错误:bugs.swift.org/browse/SR-2688。现在,您必须通过使用实际的闭包类型(例如 () -> String)而不是使用别名来声明 @autoclosure 来解决它。
标签: swift swift3 type-alias