Skip to content

Autocomplete on extends keyof generic #28662

Description

TypeScript Version: 3.3.0-dev.20181122

Search Terms:

  • autocomplete
  • autocomplete generic
  • generic extends
  • autocomplete keyof extends
  • autocomplete keyof generic

Code

typeExcept<T,KextendskeyofT>=Pick<T,{[PinkeyofT]: PextendsK ? never : P}[keyofT]>;interfaceI1{foo: string;}functionF1<TextendsI1>(): Except<T,''>{// error is shown but autocomplete is not provided//codereturnnull;}

Expected behavior:
Having autocomplete showing when extending a generic

Actual behavior:
Even if error is correctly displayed, no autocomplete is shown for a T extends with a known type on the right hand.

Playground Link:
https://www.typescriptlang.org/play/index.html#src=type%20Except%3CT%2C%20K%20extends%20keyof%20T%3E%20%3D%20Pick%3CT%2C%20%7B%20%5BP%20in%20keyof%20T%5D%3A%20P%20extends%20K%20%3F%20never%20%3A%20P%20%7D%5Bkeyof%20T%5D%3E%3B%0A%0Ainterface%20I1%20%7B%0A%20%20%20%20foo%3A%20string%3B%0A%7D%0Afunction%20F1%3CT%20extends%20I1%3E()%3A%20Except%3CT%2C%20''%3E%20%7B%0A%20%20%20%20%2F%2Fcode%0A%20%20%20%20return%20null%3B%0A%7D

Related Issues:
#16740 - but this one is quite different because it's a keyof issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions