mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
[3.13] gh-123339: Fix cases of inconsistency of __module__ and __firstlineno__ in classes (GH-123613) (#124735)
* Setting the __module__ attribute for a class now removes the
__firstlineno__ item from the type's dict.
* The _collections_abc and _pydecimal modules now completely replace the
collections.abc and decimal modules after importing them. This
allows to get the source of classes and functions defined in these
modules.
* inspect.findsource() now checks whether the first line number for a
class is out of bound.
(cherry picked from commit 69a4063ca5
)
This commit is contained in:
parent
ce0eaa6703
commit
5bf32d1300
11 changed files with 110 additions and 12 deletions
|
@ -4381,7 +4381,8 @@ class CheckAttributes(unittest.TestCase):
|
|||
|
||||
self.assertEqual(C.__version__, P.__version__)
|
||||
|
||||
self.assertEqual(dir(C), dir(P))
|
||||
self.assertLessEqual(set(dir(C)), set(dir(P)))
|
||||
self.assertEqual([n for n in dir(C) if n[:2] != '__'], sorted(P.__all__))
|
||||
|
||||
def test_context_attributes(self):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue