Skip to content

[1.10/11] Regression with Any in functools.wraps() #17171

Open
@Dreamsorcerer

Description

@Dreamsorcerer

Bug Report

We get an Any warning in 1.10:

aiojobs/aiohttp.py:50:5: error: Type of decorated function contains type "Any"
("_Wrapped[[_RequestView], Coroutine[object, object, _T], [_RequestView], Coroutine[Any, Any, _T]]")
 [misc]
        async def wrapper(request_or_view: _RequestView) -> _T:
        ^

It appears to me the problem is that the return type is inferred as Coroutine[Any, Any, _T]. Can't mypy infer this as Coroutine[None, None, _T] or atleast Coroutine[object, object, _T]?

To Reproduce

The code is:

def atomic(
    coro: Callable[[_RequestView], Coroutine[object, object, _T]]
) -> Callable[[_RequestView], Awaitable[_T]]:
    @wraps(coro)
    async def wrapper(request_or_view: _RequestView) -> _T:

https://github.com/aio-libs/aiojobs/blob/e204b06d801d538783bc902ffccf855a48ced0c2/aiojobs/aiohttp.py#L46-L61

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugmypy got something wrong

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions