Raymond Hettinger
b821868e6d
bpo-36772 Allow lru_cache to be used as decorator without making a function call (GH-13048)
2019-05-26 11:27:35 -07:00
Lysandros Nikolaou
d673810b9d
bpo-35252: Remove FIXME from test_functools (GH-10551)
2019-05-19 15:11:20 -07:00
Pablo Galindo
8c77b8cb91
bpo-36540: PEP 570 -- Implementation (GH-12701)
...
This commit contains the implementation of PEP570: Python positional-only parameters.
* Update Grammar/Grammar with new typedarglist and varargslist
* Regenerate grammar files
* Update and regenerate AST related files
* Update code object
* Update marshal.c
* Update compiler and symtable
* Regenerate importlib files
* Update callable objects
* Implement positional-only args logic in ceval.c
* Regenerate frozen data
* Update standard library to account for positional-only args
* Add test file for positional-only args
* Update other test files to account for positional-only args
* Add News entry
* Update inspect module and related tests
2019-04-29 13:36:57 +01:00
Raymond Hettinger
14adbd4598
bpo-36650: Fix handling of empty keyword args in C version of lru_cache. (GH-12881)
2019-04-20 07:20:44 -10:00
Serhiy Storchaka
42a139ed88
bpo-36492: Deprecate passing some arguments as keyword arguments. (GH-12637)
...
Deprecated passing the following arguments as keyword arguments:
- "func" in functools.partialmethod(), weakref.finalize(),
profile.Profile.runcall(), cProfile.Profile.runcall(),
bdb.Bdb.runcall(), trace.Trace.runfunc() and
curses.wrapper().
- "function" in unittest.addModuleCleanup() and
unittest.TestCase.addCleanup().
- "fn" in the submit() method of concurrent.futures.ThreadPoolExecutor
and concurrent.futures.ProcessPoolExecutor.
- "callback" in contextlib.ExitStack.callback(),
contextlib.AsyncExitStack.callback() and
contextlib.AsyncExitStack.push_async_callback().
- "c" and "typeid" in the create() method of multiprocessing.managers.Server
and multiprocessing.managers.SharedMemoryServer.
- "obj" in weakref.finalize().
Also allowed to pass arbitrary keyword arguments (even "self" and "func")
if the above arguments are passed as positional argument.
2019-04-01 09:16:35 +03:00
Raymond Hettinger
d8080c0119
bpo-35780: Fix errors in lru_cache() C code (GH-11623)
2019-01-26 03:02:00 -05:00
madman-bob
e25d5fc18e
bpo-32321: Add pure Python fallback for functools.reduce (GH-8548)
2018-10-25 16:02:10 +02:00
Carl Meyer
d658deac60
bpo-21145: Add cached_property decorator in functools ( #6982 )
...
Robust caching of calculated properties is
harder than it looks at first glance, so add
a solid, well-tested implementation to the
standard library.
2018-08-28 17:11:56 +10:00
INADA Naoki
56d8f57b83
bpo-33967: Fix wrong use of assertRaises (GH-8306)
2018-07-17 13:44:47 +09:00
Zackery Spytz
9e9b2c32a3
bpo-33967: Remove use of deprecated assertRaisesRegexp() (GH-8261)
...
It was added in test_functools at 445f1b3
.
2018-07-12 12:57:05 +09:00
Dong-hee Na
445f1b35ce
bpo-33967: Fix singledispatch raised IndexError when no args (GH-8184)
2018-07-10 16:26:36 +09:00
Ethan Smith
c651275afe
bpo-32380: Create functools.singledispatchmethod ( #6306 )
2018-05-26 13:38:33 -07:00
Mike
53f7a7c281
bpo-32297: Few misspellings found in Python source code comments. ( #4803 )
...
* Fix multiple typos in code comments
* Add spacing in comments (test_logging.py, test_math.py)
* Fix spaces at the beginning of comments in test_logging.py
2017-12-14 13:04:53 +02:00
Łukasz Langa
e56975351b
bpo-32227: functools.singledispatch supports registering via type annotations ( #4733 )
2017-12-11 13:56:31 -08:00
INADA Naoki
9811e80fd0
bpo-31581: Reduce the number of imports for functools (GH-3757)
2017-09-30 16:13:02 +09:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Ville Skyttä
49b2734bf1
Spelling fixes ( #2902 )
2017-08-03 09:00:59 +03:00
Serhiy Storchaka
2e576f5aec
bpo-30144: Import collections ABC from collections.abc rather than collections. ( #1263 )
2017-04-24 09:05:00 +03:00
Michael Seifert
6c3d527468
bpo-29800: Fix crashes in partial.__repr__ if the keys of partial.keywords are not strings ( #649 )
2017-03-15 07:26:33 +02:00
Serhiy Storchaka
9639e4ab6d
bpo-29532: Altering a kwarg dictionary passed to functools.partial() ( #190 )
...
no longer affects a partial object after creation.
2017-02-20 14:04:30 +02:00
Serhiy Storchaka
617c7753ce
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 19:42:20 +02:00
Serhiy Storchaka
42e1ea9a10
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 19:12:21 +02:00
Serhiy Storchaka
67796521dd
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 18:34:33 +02:00
Raymond Hettinger
605a4476f8
Add test for ea064ff3c10f
2017-01-09 07:50:19 -08:00
Raymond Hettinger
ac7c5acf9b
merge
2017-01-08 17:29:21 -08:00
Raymond Hettinger
4ee39141e8
Issue #29203 : functools.lru_cache() now respects PEP 468
2017-01-08 17:28:20 -08:00
Raymond Hettinger
5eed36fab4
Issue #29200 : Fix test to use self.assertEqual instead of py.test style tests
2017-01-07 20:53:09 -08:00
Raymond Hettinger
d191ef25c1
Issue #29200 : Add test for lru cache only calling __hash__ once
2017-01-07 20:44:48 -08:00
Raymond Hettinger
c28dbd0452
merge
2016-12-16 13:59:32 -08:00
Raymond Hettinger
af56e0e70f
Issue #28991 : Fix obscure reentrancy bug in functools.lru_cache().
2016-12-16 13:57:40 -08:00
Xavier de Gaye
7522ef402c
Issue #26939 : Add the support.setswitchinterval() function to fix
...
test_functools hanging on the Android armv7 qemu emulator.
2016-12-08 11:06:56 +01:00
Yury Selivanov
0a66a1cdd6
Merge 3.6 (issue #28653 )
2016-11-09 18:56:26 -05:00
Yury Selivanov
46a02db90b
Issue #28653 : Fix a refleak in functools.lru_cache.
2016-11-09 18:55:45 -05:00
Serhiy Storchaka
e3d504090c
Extend the test to lower pickle protocols.
2016-09-22 11:42:38 +03:00
Serhiy Storchaka
92bb90a9ff
Extend the test to lower pickle protocols.
2016-09-22 11:39:25 +03:00
Nick Coghlan
457fc9a69e
Issue #27137 : align Python & C implementations of functools.partial
...
The pure Python fallback implementation of functools.partial
now matches the behaviour of its accelerated C counterpart for
subclassing, pickling and text representation purposes.
Patch by Emanuel Barry and Serhiy Storchaka.
2016-09-10 20:00:02 +10:00
Guido van Rossum
f0666949fd
Issue 27598: Add Collections to collections.abc.
...
Patch by Ivan Levkivskyi, docs by Neil Girdhar.
2016-08-23 10:47:07 -07:00
Benjamin Peterson
ab078e9ed1
Backed out changeset af29d89083b3 ( closes #25548 ) ( closes #27498 )
2016-07-13 21:13:29 -07:00
Serhiy Storchaka
8918b89e61
Issue #25455 : Clean up reference loops created in tests for recursive
...
functools.partial objects.
2016-06-12 15:53:09 +03:00
Serhiy Storchaka
46fe29de31
Issue #25455 : Clean up reference loops created in tests for recursive
...
functools.partial objects.
2016-06-12 15:45:14 +03:00
Serhiy Storchaka
b62ff6eb57
Issue #25455 : Fixed a crash in repr of recursive functools.partial objects.
2016-06-12 11:51:26 +03:00
Serhiy Storchaka
179f960d47
Issue #25455 : Fixed a crash in repr of recursive functools.partial objects.
2016-06-12 11:44:06 +03:00
Kushal Das
5801ecb440
Issue #25548 : Showing memory address of class objects in repl
2016-06-04 16:21:13 -07:00
Martin Panter
3e04d5b306
Issue #27076 : Merge spelling from 3.5
2016-05-26 06:03:19 +00:00
Martin Panter
46f50726a0
Issue #27076 : Doc, comment and tests spelling fixes
...
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Guido van Rossum
16ca06b8cb
Add collections.Reversible. Patch by Ivan Levkivskyi. Fixes issue #25987 .
2016-04-04 10:59:29 -07:00
Serhiy Storchaka
3874128519
Issue #25945 : Fixed bugs in functools.partial.
...
Fixed a crash when unpickle the functools.partial object with wrong state.
Fixed a leak in failed functools.partial constructor.
"args" and "keywords" attributes of functools.partial have now always types
tuple and dict correspondingly.
2016-02-02 18:45:17 +02:00
Serhiy Storchaka
e4d65e3aab
Issue #25447 : Copying the lru_cache() wrapper object now always works,
...
independedly from the type of the wrapped object (by returning the original
object unchanged).
2015-12-28 23:58:07 +02:00
Serhiy Storchaka
45120f272b
Issue #25447 : The lru_cache() wrapper objects now can be copied and pickled
...
(by returning the original object unchanged).
2015-10-24 09:49:56 +03:00
Berker Peksag
9b93c6b5df
Issue #25137 : Add a note to whatsnew/3.5.rst for nested functools.partial calls
...
Also, properly skip the test_nested_optimization test for partial subclasses
and add a test for the suggested usage.
2015-09-22 13:08:16 +03:00