resolve_bases() and new_class() do not work with type alias of a built-in type · Issue #89827 · python/cpython
resolve_bases() returns incorrect result:
>>> import types >>> types.resolve_bases((list[int],)) (list[int],)
Expected (list,).
new_class() fails:
>>> types.new_class('L', (list[int],), {}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/serhiy/py/cpython/Lib/types.py", line 77, in new_class return meta(name, resolved_bases, ns, **kwds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: GenericAlias expected 2 arguments, got 3
Both work well with typing.List[int].