tests/cases/compiler/constructorsWithSpecializedSignatures.ts(18,5): error TS2394: Overload signature is not compatible with function implementation.
tests/cases/compiler/constructorsWithSpecializedSignatures.ts(26,5): error TS2394: Overload signature is not compatible with function implementation.


==== tests/cases/compiler/constructorsWithSpecializedSignatures.ts (2 errors) ====
    // errors
    declare class C {
        constructor(x: "hi");
        constructor(x: "foo");
        constructor(x: number);
    }
    
    // ok
    declare class C2 {
        constructor(x: "hi");
        constructor(x: "foo");
        constructor(x: string);
    }
    
    // errors
    class D {
        constructor(x: "hi");
        constructor(x: "foo");
        ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2394: Overload signature is not compatible with function implementation.
        constructor(x: number);
        constructor(x: "hi") { }
    }
    
    // overloads are ok
    class D2 {
        constructor(x: "hi");
        constructor(x: "foo");
        ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2394: Overload signature is not compatible with function implementation.
        constructor(x: string);
        constructor(x: "hi") { } // error
    }
    
    // errors
    interface I {
        new (x: "hi");
        new (x: "foo");
        new (x: number);
    }
    
    // ok
    interface I2 {
        new (x: "hi");
        new (x: "foo");
        new (x: string);
    }