New submission from Serhiy Storchaka <storchaka+cpyt...@gmail.com>:
1. Different handling of None: >>> isinstance(None, int | type(None)) True >>> issubclass(type(None), int | type(None)) True >>> isinstance(None, int | None) True >>> issubclass(type(None), int | None) False 2. Different handling of virtual subclasses: >>> import collections.abc >>> isinstance({}, int | collections.abc.Mapping) True >>> issubclass(dict, int | collections.abc.Mapping) False I do not know what behavior is correct. ---------- components: Interpreter Core messages: 397281 nosy: gvanrossum, serhiy.storchaka priority: normal severity: normal status: open title: Discrepancy between isinstance() and issubclass() for union types type: behavior versions: Python 3.10, Python 3.11 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44606> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com