==== 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 ~ !!! Type 'number' is not assignable to type 'string'. new Foo(function(s) { s = 5 }); // error, if types are applied correctly ~ !!! Type 'number' is not assignable to type 'string'. class Bar extends Foo { constructor() { super(function(s) { s = 5 }) } } // error, if types are applied correctly ~ !!! Type 'number' is not assignable to type 'string'.