mypy should use CoroutineType instead of Coroutine for return types of async def functions
Open
Nobody has claimed this yet.
feature
- Dominant language
- Python
- Stars
- 20.6k
- Forks
- 3.3k
- PR merge metrics
- PR metrics pending
Description
Feature
types.CoroutineType is defined as:
The type of coroutine objects, created by async def functions.
Evidently, async def functions return them. For context, they're a subclass of collections.abc.Coroutine with extra features.
Pitch
https://github.com/python/mypy/issues/18634 ran into this.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked issue #18634 and tracing mypy's handling of return types for async def functions. Confirm where Coroutine is selected and identify the relevant tests or entry points before changing behavior. Done means async def return types use types.CoroutineType and the existing typing tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100