[金达对此感到惊讶。在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
为什么不呢?似乎这是同一件事的别名,不是吗?
看起来像是(以前是!)Swift编译器中的一个错误,自Swift 5.1起已修复。您可以阅读有关该错误的更多信息,并在此处查看修复程序:https://bugs.swift.org/browse/SR-2688。