These are chat archives for dropbox/pyston
PyFortran_Type, it set
tp_getattr, but the
false. So trigger an assert error in here: https://github.com/dropbox/pyston/blob/master/src/capi/abstract.cpp#L411.
_PyCFunction_GetFunctionand it allows subclasses
PyCFunction_GetFunctionbut sometimes that introduces its own compatibility issues
funcin that context was
__pyx_CyFunctionType_type, which is
"cython_function_or_method". Its base class is
PyCFunction_Type. So we can't let it work by allows subclass.
If you changed it back to the macro, I think that will just do something random right now
But that's what CPython did, right?
has_getattribute. Seems it already called
PyFortran_Type->tp_dict != NULLmeans it get initialized), but didn't set
func. In some situation, the type of it is
PyCFunction_Type. So in function version, it will return NULL at here: https://github.com/dropbox/pyston/blob/master/src/runtime/capi.cpp#L1574 But CPython's macro version didn't do that type check:
#define PyCFunction_GET_FUNCTION(func) \ (((PyCFunctionObject *)func) -> m_ml -> ml_meth)
_PyCFunction_GetFunctionthat doesn't have the type checking?