Microsoft/TypeScript
GitHub ã§èŠãSuspected breaking change with pushing and assigning a 'derived' value into a 'base' array
Open
#59,016 opened on 2024幎6æ25æ¥
Domain: check: Excess Property CheckingHelp WantedPossible Improvement
Repository metrics
- Stars
- Â (48,455 stars)
- PR merge metrics
-  (å¹³åããŒãž 6d 17h) (30d ã§ 9 merged PRs)
説æ
ð Search Terms
inline assignment array derived base push 'Object literal may only specific known properties'
ð Version & Regression Information
- This changed between versions 4.9.5 and 5.0.4
⯠Playground Link
ð» Code
interface Base {
id: number;
}
interface Derived extends Base {
name: string;
}
const items: Base[] = [];
let item1: Derived;
let item2: Derived;
item1 = { id: 1, name: 'this is ok regardless' };
items.push(item1);
items.push((item2 = { id: 2, name: 'this is NOT ok in 5.0.4, but is ok in 4.9.5' }));
ð Actual behavior
'Object literal may only specific known properties' error
ð Expected behavior
The code should not produce an error
Additional information about the issue
It is possible that this is a change to the order in which types are inferred, but I have been unable to find any details in the documentation/changelog.