@@ -37,17 +37,25 @@ cdef extern from 'dynd/array.hpp' namespace 'dynd::nd' nogil:
3737
3838 bool is_null()
3939
40- array operator< (array & )
41- array operator<= (array & )
42- array operator== (array & )
43- array operator!= (array & )
44- array operator>= (array & )
45- array operator> (array & )
46-
4740 void assign(array & ) except + translate_exception
4841 array eval () except + translate_exception
4942 array cast(type ) except + translate_exception
5043 array ucast(type , ssize_t) except + translate_exception
44+
45+ # These should only be used with versions of Cython later than 0.23.
46+ # Otherwise the exception handler isn't properly applied and the
47+ # resulting uncaught C++ exceptions can crash the Python interpreter.
48+ array operator< (array& ) except + translate_exception
49+ array operator<= (array& ) except + translate_exception
50+ array operator== (array& ) except + translate_exception
51+ array operator!= (array& ) except + translate_exception
52+ array operator>= (array& ) except + translate_exception
53+ array operator> (array& ) except + translate_exception
54+ array operator+ (array& ) except + translate_exception
55+ array operator- (array& ) except + translate_exception
56+ array operator* (array& ) except + translate_exception
57+ array operator/ (array& ) except + translate_exception
58+ array operator()(...) except + translate_exception
5159
5260 array empty(type & tp) except + translate_exception
5361
0 commit comments