diff --git a/lib/rules/no-loop-func.js b/lib/rules/no-loop-func.js index 2b76093cce4..247dc52cd47 100644 --- a/lib/rules/no-loop-func.js +++ b/lib/rules/no-loop-func.js @@ -73,7 +73,7 @@ function getContainingLoopNode(node) { * @returns {ASTNode} The most outer loop node. */ function getTopLoopNode(node, excludedNode) { - var retv = null; + var retv = node; var border = excludedNode ? excludedNode.range[1] : 0; while (node && node.range[0] >= border) { diff --git a/tests/lib/rules/no-loop-func.js b/tests/lib/rules/no-loop-func.js index ac2555ed770..4cb86913fd3 100644 --- a/tests/lib/rules/no-loop-func.js +++ b/tests/lib/rules/no-loop-func.js @@ -107,6 +107,15 @@ ruleTester.run("no-loop-func", rule, { "result.__default = 6;" ].join("\n"), parserOptions: { ecmaVersion: 6 } + }, + { + code: [ + "while (true) {", + " (function() { a; });", + "}", + "let a;" + ].join("\n"), + parserOptions: { ecmaVersion: 6 } } ], invalid: [