The return type of a rich comparison is an int
diff --git a/Modules/_bisectmodule.c b/Modules/_bisectmodule.c
index 02b55d1..22ddbf2 100644
--- a/Modules/_bisectmodule.c
+++ b/Modules/_bisectmodule.c
@@ -12,7 +12,8 @@
 internal_bisect_right(PyObject *list, PyObject *item, Py_ssize_t lo, Py_ssize_t hi)
 {
     PyObject *litem;
-    Py_ssize_t mid, res;
+    Py_ssize_t mid;
+    int res;
 
     if (lo < 0) {
         PyErr_SetString(PyExc_ValueError, "lo must be non-negative");
@@ -115,7 +116,8 @@
 internal_bisect_left(PyObject *list, PyObject *item, Py_ssize_t lo, Py_ssize_t hi)
 {
     PyObject *litem;
-    Py_ssize_t mid, res;
+    Py_ssize_t mid;
+    int res;
 
     if (lo < 0) {
         PyErr_SetString(PyExc_ValueError, "lo must be non-negative");