Some reference type refinements.
authorRobert Bradshaw <robertwb@math.washington.edu>
Thu, 14 Jan 2010 22:30:29 +0000 (14:30 -0800)
committerRobert Bradshaw <robertwb@math.washington.edu>
Thu, 14 Jan 2010 22:30:29 +0000 (14:30 -0800)
Cython/Compiler/PyrexTypes.py

index 8fa3836bafae70190c8c777f96b6599e3f211e72..add37a96b1d3a6db3019b475cddd5e60048e4766 100755 (executable)
@@ -1383,15 +1383,9 @@ class CReferenceType(CType):
     def assignable_from_resolved_type(self, other_type):
         if other_type is error_type:
             return 1
-        if other_type.is_ptr:
-            return 0
-            #print self, other_type
-            #if other_type.base_type == self.base_type:
-            #    return 1
-            #else:
-            #    pass
-                #TODO: should send a warning message: initialization from incompatible pointer type (in C/C++)
-        if other_type == self.base_type:
+        elif other_type.is_reference and self.base_type == other_type.base_type:
+            return 1
+        elif other_type == self.base_type:
             return 1
         else: #for now
             return 0