Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Closed
Labels
accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease 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-plugin
Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I havesearched for related issues and found none that match my proposal.
- I have searched thecurrent rule list and found no rules that match my proposal.
- I haveread the FAQ and my problem is not listed.
My proposal is suitable for this project
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/no-unsafe-return
Description
This proposal is to makeno-unsafe-return disallowPromise<any> as well.
playground
declareconstpromise:Promise<any>;constbar=async()=>awaitpromise;// Error (ok)constbaz=async()=>promise;// Currently, it does not report errors.
https://typescript-eslint.io/rules/no-unsafe-return
Despite your best intentions, the any type can sometimes leak into your codebase. Returning an an any-typed value from a function creates a potential type safety hole and source of bugs in your codebase.
If aPromise<any> value is returned, the any type can leak into your code.
declareconstpromise:Promise<any>;constbaz=async()=>promise;functionaddOne(num:number){returnnum+1;}(async()=>{addOne(awaitbaz());// no type error});
Fail
declareconstpromise:Promise<any>;constfoo=()=>promise;constbar=async()=>promise;// ...
Pass
declareconstpromise:Promise<number>;constfoo=()=>promise;
Additional Info
No response
Metadata
Metadata
Assignees
Labels
accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulelocked due to agePlease 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-plugin