Reviewers: Amaury, Antoine, Benjamin
w = Target()
+ def test_init(self):
+ # Issue 3634
+ # <weakref to class>.__init__() doesn't check errors correctly
+ r = weakref.ref(Exception)
+ self.assertRaises(TypeError, r.__init__, 0, 0, 0, 0, 0)
+ # No exception should be raised here
+ gc.collect()
+
class SubclassableWeakrefTestCase(TestBase):
Core and Builtins
-----------------
+- Issue #3634: _weakref.ref(Exception).__init__() gave invalid return value on
+ error.
+
- Issue #3777: long() applied to a float object now always return a long
object; previously an int would be returned for small values. the __long__
method is allowed to return either an int or a long, but the behaviour of
if (parse_weakref_init_args("__init__", args, kwargs, &tmp, &tmp))
return 0;
else
- return 1;
+ return -1;
}