[exactOptionalPropertyTypes] Unexpected 'undefined' arises in error message
#60.712 aperta il 7 dic 2024
Metriche repository
- Star
- (48.455 star)
- Metriche merge PR
- (Merge medio 6g 17h) (9 PR mergiate in 30 g)
Descrizione
🔎 Search Terms
"not assignable", "never", "undefined", "exactOptionalPropertyTypes"
🕗 Version & Regression Information
4.3.5
'undefined' error instead of 'never' ; the value undefined is considered valid
4.4.4, 5.0.4
Expected behavior
5.1.6, 5.7.2
'undefined' error instead of 'never' ; the value undefined triggers the 'never' message
Nightly
not available when testing
⏯ Playground Link
💻 Code
--exactOptionalPropertyTypes
type T =
{ a: number, b?: never } |
{ a?: never, b: number };
const t: T = { // Types of property 'b' are incompatible. Type 'number' is not assignable to type 'undefined'
a: 0,
b: 0
};
🙁 Actual behavior
Type 'number' is not assignable to type 'undefined' is not relevant, since undefined cannot be the type of the t[b].
🙂 Expected behavior
The error should be about type 'number' not being assignable to type 'never'.
It is correctly displayed if the value undefined is used (after the regression at least).