allow any number to be returned from __length_hint__ (closes #15354)
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 81c19e1..3c88711 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -126,7 +126,7 @@
         PyErr_Clear();
         return defaultvalue;
     }
-    rv = PyLong_Check(ro) ? PyLong_AsSsize_t(ro) : defaultvalue;
+    rv = PyNumber_Check(ro) ? PyInt_AsSsize_t(ro) : defaultvalue;
     Py_DECREF(ro);
     return rv;
 }