<!-- Please try to reproduce the issue with the latest published version. It may have already been fixed. For npm: `typescript@next` This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly --> **TypeScript Version:** 4.0.2 <!-- Search terms you tried before logging this (so others can find this issue more easily) --> **Search Terms:** generic constraint, extends infer **Code** ```ts type InferGenericConstraint<Fn> = Fn extends <T extends infer Constraint>(arg: T) => any ? Constraint : never; type GenericFunctionExample = <T extends number>(arg: T) => void; type InferredConstraint = 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