Author: Matti Picus <matti.pi...@gmail.com>
Branch: py3.5
Changeset: r93858:7019087f6069
Date: 2018-02-21 23:50 -0500
http://bitbucket.org/pypy/pypy/changeset/7019087f6069/

Log:    merge default into py3.5

diff --git a/pypy/module/cpyext/slotdefs.py b/pypy/module/cpyext/slotdefs.py
--- a/pypy/module/cpyext/slotdefs.py
+++ b/pypy/module/cpyext/slotdefs.py
@@ -430,9 +430,9 @@
         return SLOTS[key]
     except KeyError:
         slot_func = SLOT_FACTORIES[name](space, typedef, name, method_name)
-        llfunc = llslot(space, slot_func) if slot_func else None
-        SLOTS[key] = llfunc
-        return llfunc
+        api_func = slot_func.api_func if slot_func else None
+        SLOTS[key] = api_func
+        return api_func
 
 
 def make_unary_slot(space, typedef, name, attr):
diff --git a/pypy/module/cpyext/typeobject.py b/pypy/module/cpyext/typeobject.py
--- a/pypy/module/cpyext/typeobject.py
+++ b/pypy/module/cpyext/typeobject.py
@@ -265,10 +265,11 @@
 def update_all_slots_builtin(space, w_type, pto):
     typedef = w_type.layout.typedef
     for method_name, slot_name, slot_names, slot_apifunc in 
slotdefs_for_tp_slots:
-        slot_llfunc = get_slot_tp_function(space, typedef, slot_name, 
method_name)
-        if not slot_llfunc:
+        slot_apifunc = get_slot_tp_function(space, typedef, slot_name, 
method_name)
+        if not slot_apifunc:
             warn_missing_slot(space, method_name, slot_name, w_type)
             continue
+        slot_llfunc = slot_apifunc.get_llhelper(space)
         fill_slot(space, pto, w_type, slot_names, slot_llfunc)
 
 @specialize.arg(3)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to