Closed
Description
Bug report
Bug description:
Name mangling behaves inconsistently when used with generics. Here’s the code to reproduce the issue:
class __Foo(type):
pass
class Bar[T](metaclass=__Foo):
pass
This raises NameError: name '_Bar__Foo' is not defined
. However, removing the [T]
results in the error disappearing. This suggests that the name mangling behavior is inconsistent when generics are involved. This behavior seems to be a bug, as it would be expected for the name mangling to either always occur or never occur, regardless of whether generics are used.
CPython versions tested on:
3.12
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Labels
Projects
Status
Todo