diff --git a/Cython/Compiler/PyrexTypes.py b/Cython/Compiler/PyrexTypes.py index 8fa3836bafae70190c8c777f96b6599e3f211e72..add37a96b1d3a6db3019b475cddd5e60048e4766 100755 --- a/Cython/Compiler/PyrexTypes.py +++ b/Cython/Compiler/PyrexTypes.py @@ -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