Closed
Description
Bug Report
Class attributes created with IntEnum
are not created properly
To Reproduce
minimax.py
from __future__ import annotations
from enum import IntEnum, auto
class Player(IntEnum):
"""Enum for player status."""
MIN = auto()
MAX = auto()
print(f'{Player.MAX = }')
mypyc minimax.py
Expected Behavior
No issues compiling
Actual Behavior
running build_ext
building 'minimax' extension
x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/home/<my username>/.local/lib/python3.12/site-packages/mypyc/lib-rt -I/usr/include/python3.12 -c build/__native.c -o build/temp.linux-x86_64-cpython-312/build/__native.o -O3 -g1 -Werror -Wno-unused-function -Wno-unused-label -Wno-unreachable-code -Wno-unused-variable -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-ignored-optimization-argument -Wno-cpp
build/__native.c: In function ‘CPyDef___top_level__’:
build/__native.c:415:17: error: ‘CPyStatic_Player___MAX’ undeclared (first use in this function)
415 | cpy_r_r94 = CPyStatic_Player___MAX;
| ^~~~~~~~~~~~~~~~~~~~~~
build/__native.c:415:17: note: each undeclared identifier is reported only once for each function it appears in
At top level:
cc1: note: unrecognized command-line option ‘-Wno-ignored-optimization-argument’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-unused-command-line-argument’ may have been intended to silence earlier diagnostics
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
Your Environment
- Mypy version used:
mypy 1.11.2 (compiled: yes)
- Mypy command-line flags: None
- Mypy configuration options from
mypy.ini
(and other config files): None - Python version used:
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
- GCC version used:
gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0