diff --git a/eslint/babel-eslint-parser/acorn-to-esprima.js b/eslint/babel-eslint-parser/acorn-to-esprima.js index ea6222e3ee..d43e96494e 100644 --- a/eslint/babel-eslint-parser/acorn-to-esprima.js +++ b/eslint/babel-eslint-parser/acorn-to-esprima.js @@ -171,6 +171,10 @@ var astTransformVisitor = { delete node.argument; } + if (t.isTypeCastExpression(node)) { + return node.expression; + } + if (t.isFlow(node)) { return this.remove(); } diff --git a/eslint/babel-eslint-parser/test/non-regression.js b/eslint/babel-eslint-parser/test/non-regression.js index d16b71a624..99d34fb2ea 100644 --- a/eslint/babel-eslint-parser/test/non-regression.js +++ b/eslint/babel-eslint-parser/test/non-regression.js @@ -124,6 +124,14 @@ describe("verify", function () { ); }); + it("type cast expression", function () { + verifyAndAssertMessages( + "for (let a of (a: Array)) {}", + {}, + [] + ); + }); + it("class usage", function () { verifyAndAssertMessages( "class Lol {} module.exports = Lol;",