2@rc
Given:
exporttypeBar<X,Y>=()=>[X,Y];exporttypeFoo<Y>=Bar<any,Y>;exportconsty=(x: Foo<string>)=>1
If I compile this with "declaration": true", the generated declaration file looks like:
exportdeclaretypeBar<X,Y>=()=>[X,Y];exportdeclaretypeFoo<Y>=Bar<any,Y>;exportdeclareconsty: (x: Bar<string>)=>number;
Notice that the typings for y are incorrect: the parameter x should be of type Foo<string> which is an alias for Bar<any, string>, however it is incorrectly typed as Bar<string>. The first generic to Bar has gone missing.
2@rc
Given:
If I compile this with
"declaration": true", the generated declaration file looks like:Notice that the typings for
yare incorrect: the parameterxshould be of typeFoo<string>which is an alias forBar<any, string>, however it is incorrectly typed asBar<string>. The first generic toBarhas gone missing.