diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 059143fb9086fb..e604298e5efc01 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -67,7 +67,10 @@ def _set_task_name(task, name): try: set_name = task.set_name except AttributeError: - pass + warnings.warn("Task.set_name() was added in Python 3.8, " + "the method support will be mandatory for third-party " + "task implementations since 3.13.", + DeprecationWarning, stacklevel=3) else: set_name(name) diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py index 950879204e703b..95fabf728818bb 100644 --- a/Lib/test/test_asyncio/test_tasks.py +++ b/Lib/test/test_asyncio/test_tasks.py @@ -12,7 +12,6 @@ import textwrap import traceback import unittest -import weakref from unittest import mock from types import GenericAlias diff --git a/Misc/NEWS.d/next/Library/2022-03-12-13-50-42.bpo-46995.2kdNDg.rst b/Misc/NEWS.d/next/Library/2022-03-12-13-50-42.bpo-46995.2kdNDg.rst new file mode 100644 index 00000000000000..021923f5889a7f --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-03-12-13-50-42.bpo-46995.2kdNDg.rst @@ -0,0 +1,2 @@ +Deprecate missing :meth:`asyncio.Task.set_name` for third-party task +implementations, schedule making it mandatory in Python 3.13.