==== 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; }