TypeScript

Infinite recursion in conditional types in TypeScript

TypeScriptAdvanced GenericsRecursive Typesadvanced

What this snippet does

Recursive type aliases that don't debounce or hit a base case can cause the compiler to crash or hang.

Expected output

Compile Error: Type instantiation is excessively deep and possibly infinite.

Why practise typing this

Typing advanced generics code builds muscle memory for the symbols and indentation TypeScript uses most, which prose-based typing tests never cover. DevType measures your words per minute and accuracy on this snippet and tracks the individual characters you mistype, so later lessons can target them.

More TypeScript practice

Browse all TypeScript snippets →