16 lines
538 B
JavaScript
16 lines
538 B
JavaScript
|
// @flow
|
||
|
|
||
|
declare var arrOfObjs: Array<{ foo: string }>;
|
||
|
declare var roArrOfObjs: $ReadOnlyArray<{foo: string}>;
|
||
|
declare var tup: [{foo: string}, {bar: number}];
|
||
|
|
||
|
(Object.assign({}, ...arrOfObjs): { foo: number}); // Error: string ~> number
|
||
|
(Object.assign({}, ...roArrOfObjs): { foo: number}); // Error: string ~> number
|
||
|
(Object.assign({}, ...tup): { foo: string, bar: boolean}); // Error: number ~> boolean
|
||
|
|
||
|
(Object.assign(
|
||
|
{},
|
||
|
...[{a: 1}, {b: 'foo'}],
|
||
|
...[{c: true}],
|
||
|
): {a: number, b: true, c: boolean}); // Error: 'foo' => true
|