SF bug #1770766:  weakref proxy has incorrect __nonzero__ behavior.
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index 02370c4..5412dd3 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -505,11 +505,7 @@
     PyObject *o = PyWeakref_GET_OBJECT(proxy);
     if (!proxy_checkref(proxy))
         return -1;
-    if (o->ob_type->tp_as_number &&
-        o->ob_type->tp_as_number->nb_nonzero)
-        return (*o->ob_type->tp_as_number->nb_nonzero)(o);
-    else
-        return 1;
+    return PyObject_IsTrue(o);
 }
 
 static void