Учитывая приведенную ниже программу
from enum import Enum
class Whatever(Enum):
Foo = 1
Bar = 2
def f():
x = Whatever.Foo
Я могу успешно infer()
выражение Whatever.Foo
, используя astroid * (двигатель позади Pylint ). Тем не менее, в качестве типа выведенного значения я получаю (прокси) ClassDef
для Foo
«типа», тогда как вместо Whatever
я ожидаю ClassDef
- последний также будет в syn c с тем, что я получаю из Python как type(Whatever.Foo)
**.
Это ожидаемый результат, ошибка, неполная функция ...? Буду признателен за любые комментарии.
Я нашел ветку , относящуюся к перечислениям , но которая не касается этого вопроса.
* Версия 2.3.3
** С здесь : Тип члена перечисления - это перечисление, к которому он принадлежит.