(неверно?) вывод типа enum-значения с астроидом - движком за Pylint - PullRequest
0 голосов
/ 20 января 2020

Учитывая приведенную ниже программу

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

** С здесь : Тип члена перечисления - это перечисление, к которому он принадлежит.

...