New GitHub issue #118538 from Atry:<br>
<hr>
<pre>
# Bug report
### Bug description:
```python
Python 3.12.3 (main, Apr 9 2024, 08:09:14) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> class MyOuterClass:
... class MyInnerClass:
... pass
... @staticmethod
... def public_inner():
... return __class__.MyInnerClass()
... class __MyInnerClass:
... pass
... @staticmethod
... def private_inner():
... return __class__.__MyInnerClass()
...
>>> import pickle
>>> pickle.dumps(MyOuterClass.public_inner())
b'\x80\x04\x95-\x00\x00\x00\x00\x00\x00\x00\x8c\x08__main__\x94\x8c\x19MyOuterClass.MyInnerClass\x94\x93\x94)\x81\x94.'
>>> pickle.dumps(MyOuterClass.private_inner())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
_pickle.PicklingError: Can't pickle <class '__main__.MyOuterClass.__MyInnerClass'>: attribute lookup MyOuterClass.__MyInnerClass on __main__ failed
```
### CPython versions tested on:
3.12
### Operating systems tested on:
Linux
</pre>
<hr>
<a href="https://github.com/python/cpython/issues/118538">View on GitHub</a>
<p>Labels: type-bug</p>
<p>Assignee: </p>