diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py index f60fe3f0709..0dc18dd93aa 100644 --- a/Lib/test/test_binop.py +++ b/Lib/test/test_binop.py @@ -77,12 +77,6 @@ def __int__(self): repr(self)) raise ValueError("can't convert %s to int" % repr(self)) - def __long__(self): - """Convert a Rat to an long; self.den must be 1.""" - if self.__den == 1: - return int(self.__num) - raise ValueError("can't convert %s to long" % repr(self)) - def __add__(self, other): """Add two Rats, or a Rat and a number.""" if isint(other): diff --git a/Lib/test/test_cmath.py b/Lib/test/test_cmath.py index 3c34fecd904..17cb56689fb 100755 --- a/Lib/test/test_cmath.py +++ b/Lib/test/test_cmath.py @@ -182,11 +182,9 @@ class NeitherComplexNorFloatOS: pass class MyInt(object): def __int__(self): return 2 - def __long__(self): return 2 def __index__(self): return 2 class MyIntOS: def __int__(self): return 2 - def __long__(self): return 2 def __index__(self): return 2 # other possible combinations of __float__ and __complex__ @@ -219,7 +217,7 @@ def __float__(self): self.assertEqual(f(JustFloatOS()), f(flt_arg)) # TypeError should be raised for classes not providing # either __complex__ or __float__, even if they provide - # __int__, __long__ or __index__. An old-style class + # __int__ or __index__. An old-style class # currently raises AttributeError instead of a TypeError; # this could be considered a bug. self.assertRaises(TypeError, f, NeitherComplexNorFloat()) diff --git a/Modules/_struct.c b/Modules/_struct.c index a9b1ffac531..a99e7f227eb 100644 --- a/Modules/_struct.c +++ b/Modules/_struct.c @@ -127,8 +127,8 @@ get_pylong(PyObject *v) return v; } m = Py_TYPE(v)->tp_as_number; - if (m != NULL && m->nb_long != NULL) { - v = m->nb_long(v); + if (m != NULL && m->nb_int != NULL) { + v = m->nb_int(v); if (v == NULL) return NULL; if (PyLong_Check(v)) diff --git a/Objects/complexobject.c b/Objects/complexobject.c index 75283a0236f..a7fd7dc5583 100644 --- a/Objects/complexobject.c +++ b/Objects/complexobject.c @@ -660,14 +660,6 @@ complex_int(PyObject *v) return NULL; } -static PyObject * -complex_long(PyObject *v) -{ - PyErr_SetString(PyExc_TypeError, - "can't convert complex to long; use long(abs(z))"); - return NULL; -} - static PyObject * complex_float(PyObject *v) { @@ -1068,7 +1060,7 @@ static PyNumberMethods complex_as_number = { 0, /* nb_xor */ 0, /* nb_or */ complex_int, /* nb_int */ - complex_long, /* nb_long */ + 0, /* nb_long */ complex_float, /* nb_float */ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ diff --git a/Objects/floatobject.c b/Objects/floatobject.c index 20c1eef0146..7292ca56897 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -1798,7 +1798,7 @@ static PyNumberMethods float_as_number = { 0, /*nb_xor*/ 0, /*nb_or*/ float_trunc, /*nb_int*/ - float_trunc, /*nb_long*/ + 0, /*nb_long*/ float_float, /*nb_float*/ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ diff --git a/Objects/longobject.c b/Objects/longobject.c index 9993d103ea2..259f7c57a04 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -3830,7 +3830,7 @@ static PyNumberMethods long_as_number = { long_xor, /*nb_xor*/ long_or, /*nb_or*/ long_long, /*nb_int*/ - long_long, /*nb_long*/ + 0, /*nb_long*/ long_float, /*nb_float*/ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c index faa0f86f99e..538b21cbf49 100644 --- a/Objects/weakrefobject.c +++ b/Objects/weakrefobject.c @@ -489,7 +489,6 @@ WRAP_BINARY(proxy_and, PyNumber_And) WRAP_BINARY(proxy_xor, PyNumber_Xor) WRAP_BINARY(proxy_or, PyNumber_Or) WRAP_UNARY(proxy_int, PyNumber_Int) -WRAP_UNARY(proxy_long, PyNumber_Long) WRAP_UNARY(proxy_float, PyNumber_Float) WRAP_BINARY(proxy_iadd, PyNumber_InPlaceAdd) WRAP_BINARY(proxy_isub, PyNumber_InPlaceSubtract) @@ -595,7 +594,7 @@ static PyNumberMethods proxy_as_number = { proxy_xor, /*nb_xor*/ proxy_or, /*nb_or*/ proxy_int, /*nb_int*/ - proxy_long, /*nb_long*/ + 0, /*nb_long*/ proxy_float, /*nb_float*/ proxy_iadd, /*nb_inplace_add*/ proxy_isub, /*nb_inplace_subtract*/ diff --git a/PC/winreg.c b/PC/winreg.c index 7d1d8164e8f..7316fcd94e5 100644 --- a/PC/winreg.c +++ b/PC/winreg.c @@ -451,7 +451,7 @@ static PyNumberMethods PyHKEY_NumberMethods = PyHKEY_binaryFailureFunc, /* nb_xor */ PyHKEY_binaryFailureFunc, /* nb_or */ PyHKEY_intFunc, /* nb_int */ - PyHKEY_unaryFailureFunc, /* nb_long */ + 0, /* nb_long */ PyHKEY_unaryFailureFunc, /* nb_float */ };