为什么不能在函数闭包类型的类型上使用@autoclosure?

时间:2016-10-25 15:46:46

标签: swift swift3 type-alias

有点对此感到惊讶。在Swift 3中,此代码编译......

class func test(foo:@autoclosure () -> Void)
{
}

但这并不......

typealias VoidHandler = () -> Void

class func test(foo:@autoclosure VoidHandler)
{
}

为什么不呢?它似乎是完全相同的别名,不是吗?

1 个答案:

答案 0 :(得分:0)

看起来像是(以前是)Swift编译器中的错误,自Swift 5.1起已修复。您可以阅读有关该错误的更多信息,并在此处查看修复程序:https://bugs.swift.org/browse/SR-2688