Description
π Search Terms
duplicate diagnostics, duplicate errors
π Version & Regression Information
- This is the behavior in every version I tried
β― Playground Link
π» Code
interface ComplicatedTypeBase {
[s: string]: ABase;
}
interface ComplicatedTypeDerived {
[s: string]: ADerived;
}
interface ABase {
a: string;
}
interface ADerived {
b: string;
}
class Base {
foo!: ComplicatedTypeBase;
}
const x = class Derived extends Base {
foo!: ComplicatedTypeDerived;
}
let obj: { 3: string } = { 3: "three" };
obj[x];
π Actual behavior
Two instances of the same error on line foo!: ComplicatedTypeDerived;
:
Property 'foo' in type 'Derived' is not assignable to the same property in base type 'Base'. Type 'ComplicatedTypeDerived' is not assignable to type 'ComplicatedTypeBase'.(2416)
Property 'foo' in type 'Derived' is not assignable to the same property in base type 'Base'. Type 'ComplicatedTypeDerived' is not assignable to type 'ComplicatedTypeBase'. 'string' index signatures are incompatible. Property 'a' is missing in type 'ADerived' but required in type 'ABase'.(2416)
π Expected behavior
A single instance of the error
Additional information about the issue
No response