gh-107576: Ensure __orig_bases__ are our own in get_original_bases (#107584)

Co-authored-by: Chris Bouchard <chris@upliftinglemma.net>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
James Hilton-Balfe 2023-08-03 15:19:24 +01:00 committed by GitHub
parent 77e09192b5
commit ed4a978449
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 7 deletions

View file

@ -165,14 +165,11 @@ def get_original_bases(cls, /):
assert get_original_bases(int) == (object,)
"""
try:
return cls.__orig_bases__
return cls.__dict__.get("__orig_bases__", cls.__bases__)
except AttributeError:
try:
return cls.__bases__
except AttributeError:
raise TypeError(
f'Expected an instance of type, not {type(cls).__name__!r}'
) from None
raise TypeError(
f"Expected an instance of type, not {type(cls).__name__!r}"
) from None
class DynamicClassAttribute: