-
-
Couldn't load subscription status.
- Fork 169
Description
Motivation
async functions always return promises, and can never return anything else. Therefore, documenting an async function as @return {T} is always wrong, unless T is (a subtype of) Promise.
Current behavior
The existing rules do not flag those return tags as incorrect. This problem was also mentioned in #452 (comment).
Desired behavior
I would like to receive a warning if an async function is annotated as returning a non-promise. This could be part of an existing rule (presumably in the require-return* family) or a new rule. Either would work.
Alternatives considered
If checking for non-promises in general is too complicated, it would be great to at least check native types for the time being. So warn for @return {string}, @return {void} etc., but ignore @return {SomeCustomType}.