-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Closed
Labels
accepting prsGo ahead, send a pull request that resolves this issueGo ahead, send a pull request that resolves this issuebugSomething isn't workingSomething isn't workinglocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.Please open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-pluginIssues related to @typescript-eslint/eslint-plugin
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');
};
auvred
Metadata
Metadata
Assignees
Labels
accepting prsGo ahead, send a pull request that resolves this issueGo ahead, send a pull request that resolves this issuebugSomething isn't workingSomething isn't workinglocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.Please open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-pluginIssues related to @typescript-eslint/eslint-plugin