Closed
Description
Bug Report
π Search Terms
Generic types nonnullable
π Version & Regression Information
This bug appears to exist ever since NonNullable was introduced (tested from 3.3.3 to 4.5.4)
β― Playground Link
Playground link with relevant code
π» Code
function throwIfNullable<T>(
value: T,
): NonNullable<T> {
if (value !== undefinedΒ && value !== null) {
return value;
}
throw Error('Nullable')
}
π Actual behavior
The line return value
raises a compilation error Type 'T' is not assignable to type 'NonNullable<T>'.
π Expected behavior
No compilation error as the if clause properly guards against nullish values