mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Issue #9930: Remove an unnecessary type check in wrap_binaryfunc_r;
this was causing reversed method calls like float.__radd__(3.0, 1) to return NotImplemented instead of the expected numeric value.
This commit is contained in:
		
							parent
							
								
									e8e4b3bfd6
								
							
						
					
					
						commit
						b09a3d69a6
					
				
					 3 changed files with 9 additions and 4 deletions
				
			
		|  | @ -285,6 +285,11 @@ def __repr__(self): | |||
|         self.assertEqual(repr(a), "234.5") | ||||
|         self.assertEqual(a.prec, 12) | ||||
| 
 | ||||
|     def test_explicit_reverse_methods(self): | ||||
|         # see issue 9930 | ||||
|         self.assertEqual(complex.__radd__(3j, 4.0), complex(4.0, 3.0)) | ||||
|         self.assertEqual(float.__rsub__(3.0, 1), -2.0) | ||||
| 
 | ||||
|     @support.impl_detail("the module 'xxsubtype' is internal") | ||||
|     def test_spam_lists(self): | ||||
|         # Testing spamlist operations... | ||||
|  |  | |||
|  | @ -10,6 +10,10 @@ What's New in Python 3.2 Alpha 3? | |||
| Core and Builtins | ||||
| ----------------- | ||||
| 
 | ||||
| - Issue #9930: Remove bogus subtype check that was causing (e.g.) | ||||
|   float.__rdiv__(2.0, 3) to return NotImplemented instead of the | ||||
|   expected 1.5. | ||||
| 
 | ||||
| - Issue #9808: Implement os.getlogin for Windows. Patch by Jon Anglin. | ||||
| 
 | ||||
| - Issue #9901: Destroying the GIL in Py_Finalize() can fail if some other | ||||
|  |  | |||
|  | @ -4063,10 +4063,6 @@ wrap_binaryfunc_r(PyObject *self, PyObject *args, void *wrapped) | |||
|     if (!check_num_args(args, 1)) | ||||
|         return NULL; | ||||
|     other = PyTuple_GET_ITEM(args, 0); | ||||
|     if (!PyType_IsSubtype(Py_TYPE(other), Py_TYPE(self))) { | ||||
|         Py_INCREF(Py_NotImplemented); | ||||
|         return Py_NotImplemented; | ||||
|     } | ||||
|     return (*func)(other, self); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Mark Dickinson
						Mark Dickinson