minor fix for double inference
authorStefan Behnel <scoder@users.berlios.de>
Sat, 6 Mar 2010 15:13:38 +0000 (16:13 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Sat, 6 Mar 2010 15:13:38 +0000 (16:13 +0100)
Cython/Compiler/TypeInference.py

index 8c10bcd3dc906ff40ca7942645a315924bfacac3..5c792db86f8be131f7816b8f1cd42cc765ba4f0b 100644 (file)
@@ -262,12 +262,13 @@ class SimpleAssignmentTypeInferer:
 
 def find_spanning_type(type1, type2):
     if type1 is type2:
-        return type1
+        result_type = type1
     elif type1 is PyrexTypes.c_bint_type or type2 is PyrexTypes.c_bint_type:
         # type inference can break the coercion back to a Python bool
         # if it returns an arbitrary int type here
         return py_object_type
-    result_type = PyrexTypes.spanning_type(type1, type2)
+    else:
+        result_type = PyrexTypes.spanning_type(type1, type2)
     if result_type in (PyrexTypes.c_double_type, PyrexTypes.c_float_type, Builtin.float_type):
         # Python's float type is just a C double, so it's safe to
         # use the C type instead