Closed
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I have searched for related issues and found none that matched my issue.
- I have read the FAQ and my problem is not listed.
Playground Link
Repro Code
function foo(): void {
const bar = () => () => { // No Error, false negative
return console.log('foo');
};
}
const bar = () => () => { // Error as expected.
return console.log('foo');
};
ESLint Config
module.exports = {
parser: "@typescript-eslint/parser",
rules: {
"@typescript-eslint/explicit-function-return-type": ["error", {
"allowTypedFunctionExpressions": true
}]
},
};
tsconfig
Expected Result
Two errors (line 2, line 7)
Actual Result
One error (line 7)
Additional Info
If the allowTypedFunctionExpressions
option is false, this bug does not occur. IMO, ancestorHasReturnType seems to be buggy when traversing ancestor nodes: when encountering a certain node type, it should return false without further traversal.
function foo(): void {
const bar = () => () => { // Error as expected
return console.log('foo');
};
}
const bar = () => () => { // Error as expected.
return console.log('foo');
};