constructorsWithSpecializedSignatures.ts(18,5): error TS2394: This overload signature is not compatible with its implementation signature.
constructorsWithSpecializedSignatures.ts(26,5): error TS2394: This overload signature is not compatible with its implementation signature.


==== 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: This overload signature is not compatible with its implementation signature.
!!! related TS2750 constructorsWithSpecializedSignatures.ts:20:5: The implementation signature is declared here.
        constructor(x: number);
        constructor(x: "hi") { }
    }
    
    // overloads are ok
    class D2 {
        constructor(x: "hi");
        constructor(x: "foo");
        ~~~~~~~~~~~
!!! error TS2394: This overload signature is not compatible with its implementation signature.
!!! related TS2750 constructorsWithSpecializedSignatures.ts:28:5: The implementation signature is declared here.
        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);
    }