]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46796: Simplify handling of removed parameter "loop" in asyncio (GH-31431)
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 21 Feb 2022 11:25:52 +0000 (13:25 +0200)
committerGitHub <noreply@github.com>
Mon, 21 Feb 2022 11:25:52 +0000 (13:25 +0200)
Lib/asyncio/locks.py
Lib/asyncio/mixins.py
Lib/asyncio/queues.py
Lib/test/test_asyncio/test_locks.py

index 4fef64e3921e17004f2dbd16426002daea85fae2..0fbccfab7604faa43f213aef53c3af2b702ca600 100644 (file)
@@ -73,8 +73,7 @@ class Lock(_ContextManagerMixin, mixins._LoopBoundMixin):
 
     """
 
-    def __init__(self, *, loop=mixins._marker):
-        super().__init__(loop=loop)
+    def __init__(self):
         self._waiters = None
         self._locked = False
 
@@ -163,8 +162,7 @@ class Event(mixins._LoopBoundMixin):
     false.
     """
 
-    def __init__(self, *, loop=mixins._marker):
-        super().__init__(loop=loop)
+    def __init__(self):
         self._waiters = collections.deque()
         self._value = False
 
@@ -226,8 +224,7 @@ class Condition(_ContextManagerMixin, mixins._LoopBoundMixin):
     A new Lock object is created and used as the underlying lock.
     """
 
-    def __init__(self, lock=None, *, loop=mixins._marker):
-        super().__init__(loop=loop)
+    def __init__(self, lock=None):
         if lock is None:
             lock = Lock()
 
@@ -344,8 +341,7 @@ class Semaphore(_ContextManagerMixin, mixins._LoopBoundMixin):
     ValueError is raised.
     """
 
-    def __init__(self, value=1, *, loop=mixins._marker):
-        super().__init__(loop=loop)
+    def __init__(self, value=1):
         if value < 0:
             raise ValueError("Semaphore initial value must be >= 0")
         self._value = value
@@ -408,9 +404,9 @@ class BoundedSemaphore(Semaphore):
     above the initial value.
     """
 
-    def __init__(self, value=1, *, loop=mixins._marker):
+    def __init__(self, value=1):
         self._bound_value = value
-        super().__init__(value, loop=loop)
+        super().__init__(value)
 
     def release(self):
         if self._value >= self._bound_value:
index 650df05ccc93ea652d22637b740b56d8a4bb60a3..c6bf97329e9249416859e4e367d03c9790d5c592 100644 (file)
@@ -5,20 +5,10 @@ from . import events
 
 _global_lock = threading.Lock()
 
-# Used as a sentinel for loop parameter
-_marker = object()
-
 
 class _LoopBoundMixin:
     _loop = None
 
-    def __init__(self, *, loop=_marker):
-        if loop is not _marker:
-            raise TypeError(
-                f'As of 3.10, the *loop* parameter was removed from '
-                f'{type(self).__name__}() since it is no longer necessary'
-            )
-
     def _get_loop(self):
         loop = events._get_running_loop()
 
index 10dd689bbb2efa66400a7048db3edb034ef2bebe..a9656a6df561ba8c3084ac19ce212afb46154ce1 100644 (file)
@@ -30,8 +30,7 @@ class Queue(mixins._LoopBoundMixin):
     interrupted between calling qsize() and doing an operation on the Queue.
     """
 
-    def __init__(self, maxsize=0, *, loop=mixins._marker):
-        super().__init__(loop=loop)
+    def __init__(self, maxsize=0):
         self._maxsize = maxsize
 
         # Futures.
index 4ce338774f748061e434da9588e7365e35a4dfad..d8b164a20ead401dfb6dca60b7171f79e7e20178 100644 (file)
@@ -55,8 +55,8 @@ class LockTests(unittest.IsolatedAsyncioTestCase):
         for cls in primitives_cls:
             with self.assertRaisesRegex(
                 TypeError,
-                rf'As of 3.10, the \*loop\* parameter was removed from '
-                rf'{cls.__name__}\(\) since it is no longer necessary'
+                rf"{cls.__name__}\.__init__\(\) got an unexpected "
+                rf"keyword argument 'loop'"
             ):
                 cls(loop=loop)