== Why is this an issue? The TypeScript programming language supports _generics_, a programming construct for creating reusable components, that is, components that can work over various types rather than a single one. Sometimes, we need to limit this genericity to a specific set of types, typically when we know these types share common capabilities, e.g., a `length` property. To this end, the language provides the `extends` clause to describe type constraints on type parameters, whether for classes, interfaces, type aliases, or functions. By default, a type parameter extends the `any` type. It is therefore redundant to explicitly extend from `any` and should be removed accordingly. == How to fix it Fixing such an issue involves removing the redundant type constraint to `any`. === Code examples ==== Noncompliant code example [source,typescript,diff-id=1,diff-type=noncompliant] ---- class C { // ... } ---- ==== Compliant solution [source,typescript,diff-id=1,diff-type=compliant] ---- class C { // ... } ---- == Resources === Documentation * https://www.typescriptlang.org/docs/handbook/2/generics.html[TypeScript Generics] * https://www.typescriptlang.org/docs/handbook/2/generics.html#generic-constraints[TypeScript Generic Constraints]