diff -r d0efb8532589 Lib/gettext.py --- a/Lib/gettext.py Mon Nov 14 19:31:04 2016 +0200 +++ b/Lib/gettext.py Mon Nov 14 19:55:43 2016 +0200 @@ -164,6 +164,10 @@ def _as_int(n): except TypeError: raise TypeError('Plural value must be an integer, got %s' % (n.__class__.__name__,)) from None + import warnings + warnings.warn('Plural value must be an integer, got %s' % + (n.__class__.__name__,), + DeprecationWarning, 4) return n def c2py(plural): @@ -190,6 +194,7 @@ def c2py(plural): depth -= 1 ns = {'_as_int': _as_int} + print([result]) exec('''if True: def func(n): if not isinstance(n, int): diff -r d0efb8532589 Lib/test/test_gettext.py --- a/Lib/test/test_gettext.py Mon Nov 14 19:31:04 2016 +0200 +++ b/Lib/test/test_gettext.py Mon Nov 14 19:55:43 2016 +0200 @@ -443,9 +443,12 @@ class PluralFormsTestCase(GettextBaseTes f = gettext.c2py('n != 1') self.assertEqual(f(1), 0) self.assertEqual(f(2), 1) - self.assertEqual(f(1.0), 0) - self.assertEqual(f(2.0), 1) - self.assertEqual(f(1.1), 1) + with self.assertWarns(DeprecationWarning): + self.assertEqual(f(1.0), 0) + with self.assertWarns(DeprecationWarning): + self.assertEqual(f(2.0), 1) + with self.assertWarns(DeprecationWarning): + self.assertEqual(f(1.1), 1) self.assertRaises(TypeError, f, '2') self.assertRaises(TypeError, f, b'2') self.assertRaises(TypeError, f, [])