2014-10-28 08:28:59 +01:00
|
|
|
tests/cases/compiler/interfacePropertiesWithSameName2.ts(10,11): error TS2320: Interface 'MoverShaker' cannot simultaneously extend types 'Mover' and 'Shaker'.
|
2014-09-12 22:35:07 +02:00
|
|
|
Named properties 'getStatus' of types 'Mover' and 'Shaker' are not identical.
|
2014-10-28 08:28:59 +01:00
|
|
|
tests/cases/compiler/interfacePropertiesWithSameName2.ts(26,11): error TS2320: Interface 'MoverShaker2' cannot simultaneously extend types 'Mover' and 'Shaker'.
|
2014-09-12 22:35:07 +02:00
|
|
|
Named properties 'getStatus' of types 'Mover' and 'Shaker' are not identical.
|
|
|
|
|
|
|
|
|
2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/interfacePropertiesWithSameName2.ts (2 errors) ====
|
|
|
|
interface Mover {
|
|
|
|
move(): void;
|
|
|
|
getStatus(): { speed: number; };
|
|
|
|
}
|
|
|
|
interface Shaker {
|
|
|
|
shake(): void;
|
|
|
|
getStatus(): { frequency: number; };
|
|
|
|
}
|
|
|
|
|
|
|
|
interface MoverShaker extends Mover, Shaker {
|
|
|
|
~~~~~~~~~~~
|
2014-10-28 08:28:59 +01:00
|
|
|
!!! error TS2320: Interface 'MoverShaker' cannot simultaneously extend types 'Mover' and 'Shaker'.
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2320: Named properties 'getStatus' of types 'Mover' and 'Shaker' are not identical.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Inside a module
|
|
|
|
declare module MoversAndShakers {
|
|
|
|
export class Mover {
|
|
|
|
move(): void;
|
|
|
|
getStatus(): { speed: number; };
|
|
|
|
}
|
|
|
|
export interface Shaker {
|
|
|
|
shake(): void;
|
|
|
|
getStatus(): { frequency: number; };
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
interface MoverShaker2 extends MoversAndShakers.Mover, MoversAndShakers.Shaker { } // error
|
|
|
|
~~~~~~~~~~~~
|
2014-10-28 08:28:59 +01:00
|
|
|
!!! error TS2320: Interface 'MoverShaker2' cannot simultaneously extend types 'Mover' and 'Shaker'.
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2320: Named properties 'getStatus' of types 'Mover' and 'Shaker' are not identical.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
interface MoverShaker3 extends MoversAndShakers.Mover, MoversAndShakers.Shaker {
|
|
|
|
getStatus(): { speed: number; frequency: number; }; // ok because this getStatus overrides the conflicting ones above
|
|
|
|
}
|