==== tests/cases/compiler/targetTypeBaseCalls.ts (3 errors) ====
    function foo(x: (s: string) => void) { }
     
     
     
    class Foo { constructor(x: (s: string) => void){} }
     
     
     
    foo(function(s) { s = 5 });  // Error, can’t assign number to string
                      ~
!!! targetTypeBaseCalls.ts(9,19): error TS2011: Cannot convert 'number' to 'string'.
     
     
     
    new Foo(function(s) { s = 5 });  // error, if types are applied correctly
                          ~
!!! targetTypeBaseCalls.ts(13,23): error TS2011: Cannot convert 'number' to 'string'.
     
     
     
    class Bar extends Foo { constructor() { super(function(s) { s = 5 }) } }  // error, if types are applied correctly
                                                                ~
!!! targetTypeBaseCalls.ts(17,61): error TS2011: Cannot convert 'number' to 'string'.
    