mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	gh-135646: Raise consistent NameError exceptions in ForwardRef.evaluate() (#135663)
				
					
				
			This commit is contained in:
		
							parent
							
								
									9877d191f4
								
							
						
					
					
						commit
						343719d98e
					
				
					 3 changed files with 8 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -27,6 +27,9 @@ class Format(enum.IntEnum):
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
_sentinel = object()
 | 
			
		||||
# Following `NAME_ERROR_MSG` in `ceval_macros.h`:
 | 
			
		||||
_NAME_ERROR_MSG = "name '{name:.200}' is not defined"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Slots shared by ForwardRef and _Stringifier. The __forward__ names must be
 | 
			
		||||
# preserved for compatibility with the old typing.ForwardRef class. The remaining
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +187,7 @@ def evaluate(
 | 
			
		|||
            elif is_forwardref_format:
 | 
			
		||||
                return self
 | 
			
		||||
            else:
 | 
			
		||||
                raise NameError(arg)
 | 
			
		||||
                raise NameError(_NAME_ERROR_MSG.format(name=arg), name=arg)
 | 
			
		||||
        else:
 | 
			
		||||
            code = self.__forward_code__
 | 
			
		||||
            try:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue