From e935bc55783db947a0cef791b93e3f38b777a6a5 Mon Sep 17 00:00:00 2001 From: David Peter Date: Tue, 29 Jul 2025 16:52:42 +0200 Subject: [PATCH] [ty] enum.Flag --- .../ty_python_semantic/resources/mdtest/enums.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/crates/ty_python_semantic/resources/mdtest/enums.md b/crates/ty_python_semantic/resources/mdtest/enums.md index d1265225cf..04c0a0819d 100644 --- a/crates/ty_python_semantic/resources/mdtest/enums.md +++ b/crates/ty_python_semantic/resources/mdtest/enums.md @@ -559,6 +559,22 @@ class Answer(Enum): reveal_type(enum_members(Answer)) ``` +## Subclasses of `enum.Flag` + +```py +from enum import Flag, auto + +class KeyModifier(Flag): + SHIFT = auto() + CTRL = auto() + ALT = auto() + +reveal_type(KeyModifier.SHIFT) # revealed: Literal[KeyModifier.SHIFT] + +# TODO: this should be `KeyModifier` +reveal_type(KeyModifier.SHIFT | KeyModifier.CTRL) # revealed: Literal[KeyModifier.CTRL] +``` + ## Custom enum types Enum classes can also be defined using a subclass of `enum.Enum` or any class that uses