Irit Katriel
79be75735c
gh-115775: Compiler adds __static_attributes__ field to classes ( #115913 )
2024-03-26 15:18:17 +00:00
Nikita Sobolev
1f23837277
gh-115249: Fix `test_descr` with `-OO` mode ( #115250 )
2024-02-11 11:00:44 +03:00
Furkan Onder
f7c05d7ad3
gh-55664: Add warning when creating a type using a namespace dictionary with non-string keys. (GH-105338)
...
Co-authored-by: Daniel Urban <durban@users.noreply.github.com>
2024-01-29 01:05:29 +02:00
Raymond Hettinger
d058eaeed4
gh-113157 gh-89519: Fix method descriptors (gh-113233)
...
Restore behaviors before classmethod descriptor chaining was introduced.
2023-12-21 16:08:35 -06:00
Heinz-Alexander Fuetterer
ef6d475db3
Fix typos in docs and comments ( #109619 )
2023-09-20 16:58:23 +00:00
Brandt Bucher
22e65eecaa
GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300)
2023-09-13 10:25:45 -07:00
Serhiy Storchaka
f3ba0a74cd
gh-108416: Mark slow test methods with @requires_resource('cpu') (GH-108421)
...
Only mark tests which spend significant system or user time,
by itself or in subprocesses.
2023-09-02 07:45:34 +03:00
Joon Hwan 김준환
c3887b57a7
gh-107910: Remove not needing newline in error message (GH-107928)
2023-08-14 12:26:18 +03:00
sunmy2019
59c27fa5cb
gh-102213: Optimize the performance of `__getattr__` (GH-103761)
...
Co-authored-by: Kirill <80244920+Eclips4@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Xiang Wang <34048878+wangxiang-hz@users.noreply.github.com>
2023-05-01 18:10:35 +08:00
sunmy2019
5d7d86f2fd
gh-103272: regression test for getattr exception in property ( #103336 )
2023-04-07 12:11:11 -07:00
Nikita Sobolev
d329f859b9
gh-99430: Remove duplicated tests for old-styled classes ( #99432 )
...
python 1 & 2 were a loong time ago.
2022-11-13 10:30:00 -08:00
Nikita Sobolev
76f989dc3e
gh-98783: Fix crashes when `str` subclasses are used in `_PyUnicode_Equal` ( #98806 )
2022-10-30 02:23:20 -04:00
Serhiy Storchaka
ab8a5beb5f
Fix links to old SF bugs ( #95648 )
2022-08-04 18:12:35 +02:00
Christian Heimes
81dca70d70
gh-93939: Build C extensions without setup.py (GH-94474)
...
Combines GH-93940, GH-94452, and GH-94433
2022-07-14 00:51:49 -07:00
Victor Stinner
3ceb4b8d3a
gh-84623: Remove unused imports in tests ( #93772 )
2022-06-13 16:56:03 +02:00
Serhiy Storchaka
3680ebed7f
bpo-44712: Replace "type(literal)" with corresponding builtin types (GH-27294)
...
I suppose it is a remnants of very old code written when str, int, list, dict, etc
were functions and not classes.
2022-05-08 17:10:11 +03:00
Alexey Izbyshev
85354ed78c
gh-92112: Fix crash triggered by an evil custom `mro()` ( #92113 )
2022-05-05 21:01:15 -07:00
Dennis Sweeney
868b1afa05
gh-92063: Enforce types in specialized PRECALL opcodes (GH-92068)
...
* Check the types of PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS
* fix PRECALL_NO_KW_METHOD_DESCRIPTOR_NOARGS as well
* fix PRECALL_NO_KW_METHOD_DESCRIPTOR_O
* fix PRECALL_NO_KW_METHOD_DESCRIPTOR_FAST
2022-04-30 12:35:33 -06:00
Dennis Sweeney
cec5d858f5
gh-91625: Don't ignore extended args of adaptive opcodes (GH-91626)
2022-04-17 14:04:29 -04:00
Mark Shannon
25db2b361b
bpo-46675: Allow object value arrays and split key dictionaries larger than 16 (GH-31191)
2022-02-08 11:50:38 +00:00
Zackery Spytz
b4bd1e1422
bpo-44977: Deprecate delegation of int to __trunc__ (GH-31031)
...
Calling int(a) when type(a) implements __trunc__ but not __int__
or __index__ now raises a DeprecationWarning.
2022-02-03 11:43:25 +02:00
Victor Stinner
2d03b73cc9
bpo-46417: remove_subclass() clears tp_subclasses (GH-30793)
...
The remove_subclass() function now deletes the dictionary when
removing the last subclass (if the dictionary becomes empty) to save
memory: set PyTypeObject.tp_subclasses to NULL. remove_subclass() is
called when a type is deallocated.
_PyType_GetSubclasses() no longer holds a reference to tp_subclasses:
its loop cannot modify tp_subclasses.
2022-01-22 16:53:30 +01:00
Dong-hee Na
45d44b950f
bpo-46299: Improve test_descr (GH-30475)
2022-01-08 17:14:40 +09:00
Nikita Sobolev
e63066cfed
bpo-46299: improve `test_descr.py` with stricter error handling (GH-30471)
2022-01-08 12:51:51 +09:00
Irit Katriel
f30ad65dbf
bpo-45292: [PEP 654] add the ExceptionGroup and BaseExceptionGroup classes (GH-28569)
2021-10-23 00:13:46 +01:00
Mark Shannon
a8b9350964
bpo-45340: Don't create object dictionaries unless actually needed (GH-28802)
...
* Never change types' cached keys. It could invalidate inline attribute objects.
* Lazily create object dictionaries.
* Update specialization of LOAD/STORE_ATTR.
* Don't update shared keys version for deletion of value.
* Update gdb support to handle instance values.
* Rename SPLIT_KEYS opcodes to INSTANCE_VALUE.
2021-10-13 14:19:34 +01:00
Christian Clauss
745c9d9dfc
Fix typos in the Lib directory (GH-28775)
...
Fix typos in the Lib directory as identified by codespell.
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2021-10-06 16:13:48 -07:00
Serhiy Storchaka
40348acc18
bpo-45229: Remove test_main in many tests (GH-28405)
...
Instead of explicitly enumerate test classes for run_unittest()
use the unittest ability to discover tests. This also makes these
tests discoverable and runnable with unittest.
load_tests() can be used for dynamic generating tests and adding
doctests. setUpModule(), tearDownModule() and addModuleCleanup()
can be used for running code before and after all module tests.
2021-09-19 15:27:33 +03:00
Pablo Galindo Salgado
f783428a23
bpo-44655: Include the name of the type in unset __slots__ attribute errors (GH-27199)
2021-07-17 00:34:46 +01:00
Binbin
17b16e13bb
Fix typos in multiple files (GH-26689)
...
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2021-06-12 22:47:44 -04:00
Erlend Egeberg Aasland
64141382ec
bpo-43908: check_set_special_type_attr() checks Py_TPFLAGS_IMMUTABLETYPE (GH-25743)
...
check_set_special_type_attr() and type_set_annotations()
now check for immutable flag (Py_TPFLAGS_IMMUTABLETYPE).
Co-authored-by: Victor Stinner <vstinner@python.org>
2021-04-30 15:25:43 +02:00
Victor Stinner
507a574de3
bpo-43682: @staticmethod inherits attributes (GH-25268)
...
Static methods (@staticmethod) and class methods (@classmethod) now
inherit the method attributes (__module__, __name__, __qualname__,
__doc__, __annotations__) and have a new __wrapped__ attribute.
Changes:
* Add a repr() method to staticmethod and classmethod types.
* Add tests on the @classmethod decorator.
2021-04-09 17:51:22 +02:00
Alex
cc02b4f2e8
bpo-38302: __pow__/__rpow__ now called when __ipow__ returns NotImplemented ( #16459 )
2021-02-26 11:58:39 -08:00
Raymond Hettinger
51f4688254
bpo-34805: Guarantee that __subclasses__() is in definition order. (GH-23844)
2020-12-18 16:53:50 -08:00
Hai Shi
fcce8c649a
bpo-40275: Use new test.support helper submodules in tests (GH-21772)
2020-08-07 23:55:35 +02:00
scoder
c53b310e59
bpo-41295: Reimplement the Carlo Verre "hackcheck" (GH-21528)
...
Walk down the MRO backwards to find the type that originally defined the final `tp_setattro`, then make sure we are not jumping over intermediate C-level bases with the Python-level call.
Automerge-Triggered-By: @gvanrossum
2020-07-18 14:19:50 -07:00
Serhiy Storchaka
f9bab74d5b
bpo-41055: Remove outdated tests for the tp_print slot. (GH-21006)
2020-06-21 11:11:17 +03:00
MojoVampire
469325c30e
bpo-35712: Make using NotImplemented in a boolean context issue a deprecation warning (GH-13195)
2020-03-03 20:50:17 +02:00
Jeroen Demeyer
bf17d41826
bpo-37645: add new function _PyObject_FunctionStr() (GH-14890)
...
Additional note: the `method_check_args` function in `Objects/descrobject.c` is written in such a way that it applies to all kinds of descriptors. In particular, a future re-implementation of `wrapper_descriptor` could use that code.
CC @vstinner @encukou
https://bugs.python.org/issue37645
Automerge-Triggered-By: @encukou
2019-11-05 07:48:04 -08:00
Jeroen Demeyer
57ea335606
bpo-37619: update_one_slot() should not ignore wrapper descriptors for wrong type (GH-14836)
2019-09-10 04:21:57 -07:00
Min ho Kim
39d87b5471
Fix typos mostly in comments, docs and test names (GH-15209)
2019-08-30 16:21:19 -04:00
Zackery Spytz
6b2e3256b6
Fix an invalid assertEqual() call in test_descr.py (GH-15318)
2019-08-26 23:41:11 +01:00
Jeroen Demeyer
2e9954d347
bpo-36922: use Py_TPFLAGS_METHOD_DESCRIPTOR in lookup_maybe_method() (GH-13865)
2019-06-17 20:53:20 +09:00
Jeroen Demeyer
3f345c3925
bpo-37151: simplify classmethoddescr_call (GH-13340)
2019-06-07 12:20:23 +02:00
Zackery Spytz
05f16416d9
bpo-26423: Fix possible overflow in wrap_lenfunc() (GH-13606)
...
Fix possible overflow in wrap_lenfunc() when
sizeof(long) < sizeof(Py_ssize_t) (e.g., 64-bit Windows).
2019-05-28 14:55:28 +02:00
Inada Naoki
62f9588663
bpo-36026: make descr error message consistent (GH-11930)
...
set.add(0) and set.add.__get__(0) now raise TypeError
with same error message.
2019-04-01 17:56:11 +09:00
Inada Naoki
871309c775
bpo-36433: fix confusing error messages in classmethoddescr_call (GH-12556)
...
https://bugs.python.org/issue36433
2019-03-26 02:26:33 -07:00
Inada Naoki
f2a186712b
bpo-30040: new empty dict uses key-sharing dict (GH-1080)
...
Sizeof new empty dict becomes 72 bytes from 240 bytes (amd64).
It is same size to empty dict created by dict.clear().
2019-03-12 17:25:44 +09:00
Serhiy Storchaka
ff3d39faa8
bpo-36109: Fix random test_descr failure. (GH-12044)
2019-02-25 22:03:21 -08:00
jdemeyer
5a30620e68
bpo-25750: Add test on bad descriptor __get__() (GH-9084)
2018-10-19 23:50:06 +02:00