You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2022-03-20.23:20:36.269>created_at=<Date2022-03-18.02:52:35.204>labels= ['3.7', '3.8', 'type-bug', 'library']
title='`issubclass` on two different subclasses of abstract base class like `os.PathLike` returns unexpected value on early versions of Py3.7 and Py3.8'updated_at=<Date2022-03-20.23:20:36.267>user='https://github.com/mobiusklein'
importosclassA(os.PathLike):
passclassB(os.PathLike):
passassertissubclass(A, os.PathLike) # direct inheritance relationshipassertissubclass(B, os.PathLike) # direct inheritance relationshipassertnotissubclass(A, B) # A is not derived from B or vice-versa
On Python 3.7.0-3.7.6 and 3.8.0-3.8.1 the third assertion fails. The expected behavior was restored in 3.7.7 and 3.8.2. This seems to be around when the internals of abc were translated to C.
Given that the behavior was fixed, but a bug fix matching this behavior wasn't listed in the changelog, the only resolution is to document that this behavior may be extant in older but still supported minor versions of Python. Where should that text be placed?
Since those releases are no longer supported, I don't think there's any place you could put this that would be seen. And we wouldn't want to put a note in a current release about a bug in a non-supported version that was fixed in another non-supported version.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: