* check more case for empty binding patten * refactor binding pattern checking getWidenedType * fix spelling * fix merge and rebase
33 lines
681 B
TypeScript
33 lines
681 B
TypeScript
//// [destructuringAssignabilityCheck.ts]
|
|
const [] = {}; // should be error
|
|
const {} = undefined; // error correctly
|
|
(([]) => 0)({}); // should be error
|
|
(({}) => 0)(undefined); // should be error
|
|
|
|
function foo({}: undefined) {
|
|
return 0
|
|
}
|
|
function bar([]: {}) {
|
|
return 0
|
|
}
|
|
|
|
const { }: undefined = 1
|
|
|
|
const []: {} = {}
|
|
|
|
|
|
//// [destructuringAssignabilityCheck.js]
|
|
"use strict";
|
|
var _a = {}; // should be error
|
|
var _b = undefined; // error correctly
|
|
(function (_a) { return 0; })({}); // should be error
|
|
(function (_a) { return 0; })(undefined); // should be error
|
|
function foo(_a) {
|
|
return 0;
|
|
}
|
|
function bar(_a) {
|
|
return 0;
|
|
}
|
|
var _c = 1;
|
|
var _d = {};
|