答案 0 :(得分:0)
Flow隐式地将表达式x => x
键入为(mixed) => mixed
(根据flow type-at-pos
)。因此
const a: (<T> T => T) = x => x // failing
是右侧((mixed) => mixed
)的类型与左侧(<T> (T) => T
)的类型不匹配。
可能的解决办法可能是明确设置右侧的类型:
const a: (<T> (T) => T) = <U> (x: U): U => x
如果不需要使用泛型,a
的带注释的定义可能如下所示:
const a: (mixed) => mixed = x => x