Closed
Description
Bug Report
mypy types a set of StrEnum
as set[str]
.
To Reproduce
from enum import Enum, StrEnum
class Tag(Enum):
pass
class StrTag(StrEnum):
pass
reveal_type(set(Tag)) # note: Revealed type is "builtins.set[__main__.Tag]"
reveal_type(set(StrTag)) # note: Revealed type is "builtins.set[builtins.str]"
https://mypy-play.net/?mypy=latest&python=3.13&gist=237de7c0610830acd5a5104d18541e3e
Expected Behavior
mypy should type set(StrTag)
as set[StrTag]
, not set[str]
.
Actual Behavior
main.py:10: note: Revealed type is "builtins.set[builtins.str]"
Your Environment
- Mypy version used: 1.14.0
- Python version used: 3.13