32 lines
535 B
JavaScript
32 lines
535 B
JavaScript
// @flow
|
|
|
|
let tests = [
|
|
function(x: number) {
|
|
var id;
|
|
var name = id ? 'John' : undefined;
|
|
(name: boolean); // error, string or void
|
|
|
|
const bar = [
|
|
undefined,
|
|
'bar',
|
|
];
|
|
(bar[x]: boolean); // error, string or void
|
|
},
|
|
|
|
function(x: number) {
|
|
var undefined = 'foo';
|
|
(undefined: string); // ok
|
|
|
|
var x;
|
|
if (x !== undefined) {
|
|
x[0]; // should error, could be void
|
|
}
|
|
|
|
const bar = [
|
|
undefined,
|
|
'bar',
|
|
];
|
|
(bar[x]: boolean); // error, string only
|
|
},
|
|
];
|