30 lines
805 B
Text
30 lines
805 B
Text
|
==== tests/cases/compiler/constructorOverloads7.ts (2 errors) ====
|
||
|
declare class Point
|
||
|
{
|
||
|
x: number;
|
||
|
y: number;
|
||
|
constructor(x: number, y: number);
|
||
|
|
||
|
add(dx: number, dy: number): Point;
|
||
|
origin: Point;
|
||
|
|
||
|
}
|
||
|
|
||
|
// Type provided by extern declaration
|
||
|
// Because Point is a constructor function, this is inferred
|
||
|
// to be Point and return type is inferred to be void
|
||
|
function Point(x, y) {
|
||
|
~~~~~
|
||
|
!!! Duplicate identifier 'Point'.
|
||
|
this.x = x;
|
||
|
this.y = y;
|
||
|
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
declare function EF1(a:number, b:number):number;
|
||
|
~~~
|
||
|
!!! Overload signatures must all be ambient or non-ambient.
|
||
|
|
||
|
function EF1(a,b) { return a+b; }
|
||
|
|