Skip to content

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

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