From: Stefan Behnel Date: Tue, 20 Apr 2010 07:17:16 +0000 (+0200) Subject: safety fix: why should the return type always be exactly PyObject if it is known... X-Git-Tag: 0.13.beta0~176 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fff037c308b98eb5e5591ec3a22159633be9ea17;p=cython.git safety fix: why should the return type always be exactly PyObject if it is known to be bool? --- diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py index ec0c0f15..a3e717f0 100755 --- a/Cython/Compiler/ExprNodes.py +++ b/Cython/Compiler/ExprNodes.py @@ -5553,7 +5553,7 @@ class CmpNode(object): def generate_operation_code(self, code, result_code, operand1, op , operand2): - if self.type is PyrexTypes.py_object_type: + if self.type.is_pyobject: coerce_result = "__Pyx_PyBool_FromLong" else: coerce_result = "" @@ -5563,7 +5563,7 @@ class CmpNode(object): negation = "" if op == 'in' or op == 'not_in': code.globalstate.use_utility_code(contains_utility_code) - if self.type is PyrexTypes.py_object_type: + if self.type.is_pyobject: coerce_result = "__Pyx_PyBoolOrNull_FromLong" if op == 'not_in': negation = "__Pyx_NegateNonNeg" @@ -5577,7 +5577,7 @@ class CmpNode(object): method = "PyDict_Contains" else: method = "PySequence_Contains" - if self.type is PyrexTypes.py_object_type: + if self.type.is_pyobject: error_clause = code.error_goto_if_null got_ref = "__Pyx_XGOTREF(%s); " % result_code else: