-
Notifications
You must be signed in to change notification settings - Fork 13k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFix AvailableA PR has been opened for this issueA PR has been opened for this issueRescheduledThis issue was previously scheduled to an earlier milestoneThis issue was previously scheduled to an earlier milestone
Milestone
Description
Bug Report
π Search Terms
variant accessor setter union
π Version & Regression Information
- I was unable to test this on prior versions because: variant accessors only landed in 4.3
β― Playground Link
π» Code
class One {
get prop(): string { return ""; }
set prop(s: string | number) { }
}
class Two {
get prop(): string { return ""; }
set prop(s: string | number) { }
}
declare const u1: One|Two;
u1.prop = 42; //Type 'number' is not assignable to type 'string'.(2322)
I didn't include it in the playground, but behavior is the same for class
or interface
.
π Actual behavior
Assignment of number is flagged as an error, even though both sides of the union allow assignment of a number.
π Expected behavior
Assignment should not be flagged.
Originally reported by @ws93
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFix AvailableA PR has been opened for this issueA PR has been opened for this issueRescheduledThis issue was previously scheduled to an earlier milestoneThis issue was previously scheduled to an earlier milestone