-
- diff -r 82d95ae3d2c8 pypy/module/cpyext/typeobject.py
- --- a/pypy/module/cpyext/typeobject.py Tue Jul 25 20:19:44 2017 +0200
- +++ b/pypy/module/cpyext/typeobject.py Wed Jul 26 19:17:05 2017 +0300
- @@ -757,11 +757,8 @@
- # only for the exact type, like 'space.w_tuple' or 'space.w_list'
- pto.c_tp_dealloc = typedescr.get_dealloc().get_llhelper(space)
- else:
- - # for all subtypes, use base's dealloc (requires sorting in attach_all)
- - pto.c_tp_dealloc = pto.c_tp_base.c_tp_dealloc
- - if not pto.c_tp_dealloc:
- - # strange, but happens (ABCMeta)
- - pto.c_tp_dealloc = llslot(space, subtype_dealloc)
- + # always assign to subtype_dealloc
- + pto.c_tp_dealloc = subtype_dealloc.api_func.get_llhelper(space)
-
- if builder.cpyext_type_init is not None:
- builder.cpyext_type_init.append((pto, w_type))
-