Removing the explicit type makes it compile:
func test(_ callback: () -> Void) { // Compiles, no need for it to be @escaping let x = callback x() }
Is this a compiler bug?