-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
bugmypy got something wrongmypy got something wrong

Description
Bug Report
I have an exhaustive match block with return
statements for each case, but mypy flags it as a missing return error: error: Missing return statement [return]
To Reproduce
from dataclasses import dataclass
from datetime import datetime
import enum
from typing import assert_never
class MyEnum(enum.Enum):
a = "a"
b = "b"
c = "c"
@dataclass
class MyClass:
expires_at: datetime | None
@property
def status(self) -> MyEnum:
match self.expires_at:
case None:
return MyEnum.a
case time if time <= datetime.now():
return MyEnum.b
case _:
return MyEnum.c
https://mypy-play.net/?mypy=1.5.0&python=3.11&gist=122ad20737777670f775c802a36251d9
Expected Behavior
No error raised
Actual Behavior
error: Missing return statement [return]
is raised
Your Environment
- Mypy version used: 1.5.0
- Python version used: 3.11
Metadata
Metadata
Assignees
Labels
bugmypy got something wrongmypy got something wrong