请考虑以下尝试使用函数类型参数定义高阶类型函数的伪代码M<?>:
type HigherOrderTypeFn<T, M<?>> = T extends (...)
? M<T>
: never;
Run Code Online (Sandbox Code Playgroud)
M<?>是语法错误的 TypeScript,但将类型签名声明为会在第二行HigherOrderTypeFn<T, M>产生错误Type 'M' is not generic. ts(2315)。
假设这种类型目前在 TS 中无法表示,我是否正确?