mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	Try to repair more new buildbot failures in "x86 OpenBSD trunk", due
to that id() can now return a Python long on a 32-bit box that allocates
addresses "with the sign bit set".
test_set.py test_subclass_with_custom_hash():  it's never been portably
legal for a __hash__() method to return id(self), but on 32-bit boxes
that never caused a problem before it became possible for id() to
return a Python long.  Changed __hash__ here to return a Python int
regardless of platform.
test_descr.py specials():
    vereq(hash(c1), id(c1))
has never been a correct test -- just removed it (hash() is always
a Python int; id() may be a Python long).
			
			
This commit is contained in:
		
							parent
							
								
									16ed521dd7
								
							
						
					
					
						commit
						6902b44406
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
					@ -224,7 +224,7 @@ class TestJointOps(unittest.TestCase):
 | 
				
			||||||
        # Bug #1257731
 | 
					        # Bug #1257731
 | 
				
			||||||
        class H(self.thetype):
 | 
					        class H(self.thetype):
 | 
				
			||||||
            def __hash__(self):
 | 
					            def __hash__(self):
 | 
				
			||||||
                return id(self)
 | 
					                return int(id(self) & 0x7fffffff)
 | 
				
			||||||
        s=H()
 | 
					        s=H()
 | 
				
			||||||
        f=set()
 | 
					        f=set()
 | 
				
			||||||
        f.add(s)
 | 
					        f.add(s)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue