Skip to content

mypy thinks variable is None even if assigned non-None value inside loop #11900

Closed
@Akuli

Description

@Akuli

Bug Report

To Reproduce

def foo() -> None:
    user = None

    while True:
        if user is None:
            user = 123
        else:
            print(1 + "lol")

foo()

Expected Behavior

mypy error + runtime error

Actual Behavior

no mypy error

Your Environment

  • Mypy version used: 0.930

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