bpo-44342: [Enum] fix data type search (GH-26667)

In an inheritance chain of

  int -> my_int -> final_int

the data type is now final_int (not my_int)
This commit is contained in:
Ethan Furman 2021-06-11 01:25:14 -07:00 committed by GitHub
parent e26014f1c4
commit 3a7cccfd6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View file

@ -658,6 +658,14 @@ class TestEnum(unittest.TestCase):
def __repr__(self):
return '<%s.%s: %r>' % (self.__class__.__name__, self._name_, self._value_)
self.assertEqual(repr(MyEnum.A), '<MyEnum.A: 0x1>')
#
class SillyInt(HexInt):
pass
class MyOtherEnum(SillyInt, enum.Enum):
D = 4
E = 5
F = 6
self.assertIs(MyOtherEnum._member_type_, SillyInt)
def test_too_many_data_types(self):
with self.assertRaisesRegex(TypeError, 'too many data types'):