我一直在思考为什么长时间内通用参数定义不能为仲裁长度。例如,如何提取某些struct类型对象的diff属性后跟
type Type<A,B> = Diff<A,B>
type Type<A,B,C> =Type<A,Type<B,C>>
type Type<A,B,C,D> =Type<A,Type<B,C,D>>
对我来说,这个伪代码看起来并非不可能
type Type<T,...U[]: U extends unknown> = Type<T,...U>
如果我们区分数组和单元类型,但是很长一段时间没有实现。谁能告诉我为什么?我希望编译器可能会遇到非身份问题,并通过数学证明这一点。