==== tests/cases/compiler/typeArgumentConstraintResolution1.ts (4 errors) ====
    function foo1<T extends Date>(test: T);
    function foo1<T extends Number>(test: string);
    function foo1<T extends String>(test: any) { }
    foo1<Date>(""); // should error
    ~~~~
!!! typeArgumentConstraintResolution1.ts(4,1): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Type 'String' is missing property 'toDateString' from type 'Date'.
    ~~~~
!!! typeArgumentConstraintResolution1.ts(4,1): error TS2087: Could not select overload for 'call' expression.
    
    
    
    function foo2<T extends Date>(test: T): T;
    function foo2<T extends Number>(test: string): T; 
    function foo2<T extends String>(test: any): any { return null; }
    foo2<Date>(""); // Type Date does not satisfy the constraint 'Number' for type parameter 'T extends Number'
    ~~~~
!!! typeArgumentConstraintResolution1.ts(11,1): error TS2082: Supplied parameters do not match any signature of call target:
!!! 	Type 'String' is missing property 'toDateString' from type 'Date'.
    ~~~~
!!! typeArgumentConstraintResolution1.ts(11,1): error TS2087: Could not select overload for 'call' expression.
    