有点对此感到惊讶。在Swift 3中,此代码编译......
class func test(foo:@autoclosure () -> Void)
{
}
但这并不......
typealias VoidHandler = () -> Void
class func test(foo:@autoclosure VoidHandler)
{
}
为什么不呢?它似乎是完全相同的别名,不是吗?
答案 0 :(得分:0)
看起来像是(以前是)Swift编译器中的错误,自Swift 5.1起已修复。您可以阅读有关该错误的更多信息,并在此处查看修复程序:https://bugs.swift.org/browse/SR-2688。