1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
=== tests/cases/compiler/conflictingMemberTypesInBases.ts ===
interface A {
>A : Symbol(A, Decl(conflictingMemberTypesInBases.ts, 0, 0))
m: string;
>m : Symbol(A.m, Decl(conflictingMemberTypesInBases.ts, 0, 13))
}
interface B extends A {
>B : Symbol(B, Decl(conflictingMemberTypesInBases.ts, 2, 1))
>A : Symbol(A, Decl(conflictingMemberTypesInBases.ts, 0, 0))
}
interface C {
>C : Symbol(C, Decl(conflictingMemberTypesInBases.ts, 4, 1))
m: number;
>m : Symbol(C.m, Decl(conflictingMemberTypesInBases.ts, 5, 13))
}
interface D extends C {
>D : Symbol(D, Decl(conflictingMemberTypesInBases.ts, 7, 1))
>C : Symbol(C, Decl(conflictingMemberTypesInBases.ts, 4, 1))
}
interface E extends B { } // Error here for extending B and D
>E : Symbol(E, Decl(conflictingMemberTypesInBases.ts, 9, 1), Decl(conflictingMemberTypesInBases.ts, 11, 25))
>B : Symbol(B, Decl(conflictingMemberTypesInBases.ts, 2, 1))
interface E extends D { } // No duplicate error here
>E : Symbol(E, Decl(conflictingMemberTypesInBases.ts, 9, 1), Decl(conflictingMemberTypesInBases.ts, 11, 25))
>D : Symbol(D, Decl(conflictingMemberTypesInBases.ts, 7, 1))
|