45 lines
No EOL
1.1 KiB
Text
45 lines
No EOL
1.1 KiB
Text
==== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates3.ts (2 errors) ====
|
|
class C {
|
|
private x: number;
|
|
}
|
|
|
|
class C2 {
|
|
private x: number;
|
|
}
|
|
|
|
interface A extends C { // error
|
|
~
|
|
!!! Interface 'A' cannot simultaneously extend types 'C' and 'C2':
|
|
!!! Named properties 'x' of types 'C' and 'C2' are not identical.
|
|
y: string;
|
|
}
|
|
|
|
interface A extends C2 {
|
|
z: string;
|
|
}
|
|
|
|
class D extends C implements A { // error
|
|
y: string;
|
|
z: string;
|
|
}
|
|
|
|
module M {
|
|
class C {
|
|
private x: string;
|
|
}
|
|
|
|
class C2 {
|
|
private x: number;
|
|
}
|
|
|
|
interface A extends C { // error, privates conflict
|
|
~
|
|
!!! Interface 'A' cannot simultaneously extend types 'C' and 'C2':
|
|
!!! Named properties 'x' of types 'C' and 'C2' are not identical.
|
|
y: string;
|
|
}
|
|
|
|
interface A extends C2 {
|
|
z: string;
|
|
}
|
|
} |