==== tests/cases/compiler/overloadOnConstNoStringImplementation.ts (3 errors) ====
    function x2(a: number, cb: (x: 'hi') => number);
                               ~~~~~~~~~~~~~~~~~~~
!!! overloadOnConstNoStringImplementation.ts(1,28): error TS2154: Specialized overload signature is not assignable to any non-specialized signature.
    function x2(a: number, cb: (x: 'bye') => number);
                               ~~~~~~~~~~~~~~~~~~~~
!!! overloadOnConstNoStringImplementation.ts(2,28): error TS2154: Specialized overload signature is not assignable to any non-specialized signature.
    function x2(a: number, cb: (x: any) => number) {
        cb('hi');
        cb('bye');
        var hm = 'hm';
        cb(hm); // should this work without a string definition?
        cb('uh');
        cb(1); 
    }
    
    var cb: (number) => number = (x: number) => 1;
    x2(1, cb); // error
    x2(1, (x: 'hi') => 1); // error
          ~~~~~~~~~~~~~~
!!! overloadOnConstNoStringImplementation.ts(14,7): error TS2163: Overload signature implementation cannot use specialized type.
    x2(1, (x: string) => 1);