bpo-36048: Use __index__() instead of __int__() for implicit conversion if available. (GH-11952)
Deprecate using the __int__() method in implicit conversions of Python
numbers to C integers.
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index 958b336..715f0ea 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -4918,8 +4918,9 @@
for xx in [decimal.Decimal(10),
decimal.Decimal('10.9'),
Number(10)]:
- self.assertEqual(datetime(10, 10, 10, 10, 10, 10, 10),
- datetime(xx, xx, xx, xx, xx, xx, xx))
+ with self.assertWarns(DeprecationWarning):
+ self.assertEqual(datetime(10, 10, 10, 10, 10, 10, 10),
+ datetime(xx, xx, xx, xx, xx, xx, xx))
with self.assertRaisesRegex(TypeError, '^an integer is required '
r'\(got type str\)$'):
@@ -4927,7 +4928,7 @@
f10 = Number(10.9)
with self.assertRaisesRegex(TypeError, '^__int__ returned non-int '
- r'\(type float\)$'):
+ r'\(type float\)$'):
datetime(10, 10, f10)
class Float(float):