mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	[3.9] bpo-45097: Remove incorrect deprecation warnings in asyncio. (GH-28153)
Deprecation warnings about the loop argument were incorrectly emitted in cases when the loop argument was used inside the asyncio library, not from user code.
This commit is contained in:
		
							parent
							
								
									ce83e42437
								
							
						
					
					
						commit
						c967bd523c
					
				
					 11 changed files with 234 additions and 181 deletions
				
			
		|  | @ -580,15 +580,16 @@ def as_completed(fs, *, loop=None, timeout=None): | |||
|     if futures.isfuture(fs) or coroutines.iscoroutine(fs): | ||||
|         raise TypeError(f"expect an iterable of futures, not {type(fs).__name__}") | ||||
| 
 | ||||
|     if loop is not None: | ||||
|         warnings.warn("The loop argument is deprecated since Python 3.8, " | ||||
|                       "and scheduled for removal in Python 3.10.", | ||||
|                       DeprecationWarning, stacklevel=2) | ||||
| 
 | ||||
|     from .queues import Queue  # Import here to avoid circular import problem. | ||||
|     done = Queue(loop=loop) | ||||
| 
 | ||||
|     if loop is None: | ||||
|         loop = events.get_event_loop() | ||||
|     else: | ||||
|         warnings.warn("The loop argument is deprecated since Python 3.8, " | ||||
|                       "and scheduled for removal in Python 3.10.", | ||||
|                       DeprecationWarning, stacklevel=2) | ||||
|     todo = {ensure_future(f, loop=loop) for f in set(fs)} | ||||
|     timeout_handle = None | ||||
| 
 | ||||
|  | @ -756,6 +757,10 @@ def gather(*coros_or_futures, loop=None, return_exceptions=False): | |||
|                       "and scheduled for removal in Python 3.10.", | ||||
|                       DeprecationWarning, stacklevel=2) | ||||
| 
 | ||||
|     return _gather(*coros_or_futures, loop=loop, return_exceptions=return_exceptions) | ||||
| 
 | ||||
| 
 | ||||
| def _gather(*coros_or_futures, loop=None, return_exceptions=False): | ||||
|     if not coros_or_futures: | ||||
|         if loop is None: | ||||
|             loop = events.get_event_loop() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Serhiy Storchaka
						Serhiy Storchaka