==== tests/cases/compiler/functionOverloads41.ts (1 errors) ==== function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } var x = foo([{}]); ~~~~ !!! Argument of type '{}[]' is not assignable to parameter of type '{ a: boolean; }[]'. !!! Type '{}' is not assignable to type '{ a: boolean; }': !!! Property 'a' is missing in type '{}'.