Skip to content

Infer declarations are allowed in generic constraints, but do not infer generic constraint types #41040

Description

@lazytype

TypeScript Version: 4.0.2

Search Terms: generic constraint, extends infer

Code

typeInferGenericConstraint<Fn>=Fnextends<Textends infer Constraint>(arg: T)=>any
? Constraint
: never;typeGenericFunctionExample=<Textendsnumber>(arg: T)=>void;typeInferredConstraint=InferGenericConstraint<GenericFunctionExample>;

Expected behavior:

  • Preferred:InferredConstraint is number.
  • Alternative:infer declaration is disallowed within a generic constraint clause.

Actual behavior:InferredConstraint is never

Playground Link:https://tsplay.dev/gWoYlN

Related Issues:#1213

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: check: Type InferenceRelated to type inference performed during signature resolution or `infer` type resolution

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions