Skip to content

Overloaded functions at nested scopes are not analyzed, causing crashes #5454

@ilevkivskyi

Description

@ilevkivskyi

Consider this simple example that crashes:

from typing import overload

def f() -> None:
    @overload
    def g(x: str) -> str: ...
    @overload
    def g(x: int) -> int: ...
    def g(x):
        pass

    g(str())

Adding a reveal_type(g) shows that overload variants are not analyzed at all, it shows:

Revealed type is 'Overload(def (x: str?) -> str?, def (x: int?) -> int?)'

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions