diff options
author | Andrew Svetlov <andrew.svetlov@gmail.com> | 2022-03-23 15:43:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-23 15:43:05 (GMT) |
commit | 0360e9f34659e7d7f3dae021b82f78452db8c714 (patch) | |
tree | f88f12dd56fb3f0cca5557447835c94fbea12cb5 /Lib/asyncio | |
parent | 624e3986fbf8467772e4863b7ec004e65adff619 (diff) | |
download | cpython-0360e9f34659e7d7f3dae021b82f78452db8c714.zip cpython-0360e9f34659e7d7f3dae021b82f78452db8c714.tar.gz cpython-0360e9f34659e7d7f3dae021b82f78452db8c714.tar.bz2 |
bpo-46829: Deprecate passing a message into Future.cancel() and Task.cancel() (GH-31840)
After a long deliberation we ended up feeling that the message argument for Future.cancel(), added in 3.9, was a bad idea, so we're deprecating it in 3.11 and plan to remove it in 3.13.
Diffstat (limited to 'Lib/asyncio')
-rw-r--r-- | Lib/asyncio/futures.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/tasks.py | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Lib/asyncio/futures.py b/Lib/asyncio/futures.py index bfd4ee9..08c79e7 100644 --- a/Lib/asyncio/futures.py +++ b/Lib/asyncio/futures.py @@ -8,6 +8,7 @@ import concurrent.futures import contextvars import logging import sys +import warnings from types import GenericAlias from . import base_futures @@ -150,6 +151,11 @@ class Future: change the future's state to cancelled, schedule the callbacks and return True. """ + if msg is not None: + warnings.warn("Passing 'msg' argument to Future.cancel() " + "is deprecated since Python 3.11, and " + "scheduled for removal in Python 3.14.", + DeprecationWarning, stacklevel=2) self.__log_traceback = False if self._state != _PENDING: return False diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index e876f8d..27fe58d 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -207,6 +207,11 @@ class Task(futures._PyFuture): # Inherit Python Task implementation This also increases the task's count of cancellation requests. """ + if msg is not None: + warnings.warn("Passing 'msg' argument to Task.cancel() " + "is deprecated since Python 3.11, and " + "scheduled for removal in Python 3.14.", + DeprecationWarning, stacklevel=2) self._log_traceback = False if self.done(): return False |