tests/cases/compiler/overloadOnConstNoStringImplementation.ts(1,28): error TS2382: Specialized overload signature is not assignable to any non-specialized signature.
tests/cases/compiler/overloadOnConstNoStringImplementation.ts(2,28): error TS2382: Specialized overload signature is not assignable to any non-specialized signature.
tests/cases/compiler/overloadOnConstNoStringImplementation.ts(14,7): error TS2381: A signature with an implementation cannot use a string literal type.


==== tests/cases/compiler/overloadOnConstNoStringImplementation.ts (3 errors) ====
    function x2(a: number, cb: (x: 'hi') => number);
                               ~~~~~~~~~~~~~~~~~~~
!!! error TS2382: Specialized overload signature is not assignable to any non-specialized signature.
    function x2(a: number, cb: (x: 'bye') => number);
                               ~~~~~~~~~~~~~~~~~~~~
!!! error TS2382: 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
          ~~~~~~~~~~~~~~
!!! error TS2381: A signature with an implementation cannot use a string literal type.
    x2(1, (x: string) => 1);