TypeScript Version: 3.9.3
Search Terms:
cannot be used to index type
Code
2536
// A *self-contained* demonstration of the problem follows...
// works in 3.8, fails in 3.9// Is this a bug in 3.9?// Nexus (nexusjs.org) depended on this functionalitytypeGet1<Aextendsany,Bextendsany,Cextends'filtering'|'ordering'>=AextendskeyofStuff
? BextendskeyofStuff[A]
? Stuff[A][B][C]// error here
: never
: never;interfaceStuff{// [k:string]: any // <-- Putting this here fixes Get1 in TS 3.9Blog: {// [k:string]: any // <-- Putting this here fixes Get1 in TS 3.9 posts: {filtering: 'a',ordering: 'b'}}}Expected behavior:
TS 3.9 supports the same type logic as in 3.8 (see playground repro)
Actual behavior:
Breaks in 3.9 (our context: graphql-nexus/nexus#859)
Playground Link:
link
TypeScript Version: 3.9.3
Search Terms:
cannot be used to index type
Code
2536
// A *self-contained* demonstration of the problem follows...Expected behavior:
TS 3.9 supports the same type logic as in 3.8 (see playground repro)
Actual behavior:
Breaks in 3.9 (our context: graphql-nexus/nexus#859)
Playground Link:
link