Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
fix enum
  • Loading branch information
youknowone committed Dec 27, 2025
commit 339f0e746911b9c3026db426f8f08ff34b69cb27
2 changes: 0 additions & 2 deletions Lib/test/test_signal.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@

class GenericTests(unittest.TestCase):

# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_enums(self):
for name in dir(signal):
sig = getattr(signal, name)
Expand Down
6 changes: 0 additions & 6 deletions Lib/test/test_ssl.py
Original file line number Diff line number Diff line change
Expand Up @@ -5477,7 +5477,6 @@ class Checked_TLSMessageType(enum.IntEnum):
CHANGE_CIPHER_SPEC = 0x0101
enum._test_simple_enum(Checked_TLSMessageType, _TLSMessageType)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_sslmethod(self):
Checked_SSLMethod = enum._old_convert_(
enum.IntEnum, '_SSLMethod', 'ssl',
Expand All @@ -5488,7 +5487,6 @@ def test_sslmethod(self):
Checked_SSLMethod.PROTOCOL_SSLv23 = Checked_SSLMethod.PROTOCOL_TLS
enum._test_simple_enum(Checked_SSLMethod, ssl._SSLMethod)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_options(self):
CheckedOptions = enum._old_convert_(
enum.IntFlag, 'Options', 'ssl',
Expand All @@ -5497,7 +5495,6 @@ def test_options(self):
)
enum._test_simple_enum(CheckedOptions, ssl.Options)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_alertdescription(self):
CheckedAlertDescription = enum._old_convert_(
enum.IntEnum, 'AlertDescription', 'ssl',
Expand All @@ -5506,7 +5503,6 @@ def test_alertdescription(self):
)
enum._test_simple_enum(CheckedAlertDescription, ssl.AlertDescription)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_sslerrornumber(self):
Checked_SSLErrorNumber = enum._old_convert_(
enum.IntEnum, 'SSLErrorNumber', 'ssl',
Expand All @@ -5515,7 +5511,6 @@ def test_sslerrornumber(self):
)
enum._test_simple_enum(Checked_SSLErrorNumber, ssl.SSLErrorNumber)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_verifyflags(self):
CheckedVerifyFlags = enum._old_convert_(
enum.IntFlag, 'VerifyFlags', 'ssl',
Expand All @@ -5524,7 +5519,6 @@ def test_verifyflags(self):
)
enum._test_simple_enum(CheckedVerifyFlags, ssl.VerifyFlags)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_verifymode(self):
CheckedVerifyMode = enum._old_convert_(
enum.IntEnum, 'VerifyMode', 'ssl',
Expand Down
8 changes: 7 additions & 1 deletion crates/vm/src/builtins/type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1499,9 +1499,15 @@ impl Constructor for PyType {
// Only add if:
// 1. base is not type (type subclasses inherit __dict__ from type)
// 2. the class has HAS_DICT flag (i.e., __slots__ was not defined or __dict__ is in __slots__)
// 3. no base class in MRO already provides __dict__ descriptor
if !base_is_type && typ.slots.flags.has_feature(PyTypeFlags::HAS_DICT) {
let __dict__ = identifier!(vm, __dict__);
if !typ.attributes.read().contains_key(&__dict__) {
let has_inherited_dict = typ
.mro
.read()
.iter()
.any(|base| base.attributes.read().contains_key(&__dict__));
if !typ.attributes.read().contains_key(&__dict__) && !has_inherited_dict {
unsafe {
let descriptor =
vm.ctx
Expand Down