Allow a cpdef function to override a cdef function
authorRobert Bradshaw <robertwb@math.washington.edu>
Fri, 8 Feb 2008 08:03:24 +0000 (00:03 -0800)
committerRobert Bradshaw <robertwb@math.washington.edu>
Fri, 8 Feb 2008 08:03:24 +0000 (00:03 -0800)
(But not the other way around...)

Cython/Compiler/PyrexTypes.py

index 7ee44433fd300122f877a97480f740090db88eb0..5aa17d87cfcd6b32833521d6e871f81a85a9b849 100644 (file)
@@ -627,7 +627,7 @@ class CFuncType(CType):
             return 1
         if not other_type.is_cfunction:
             return 0
-        if self.is_overridable != other_type.is_overridable:
+        if not self.is_overridable and other_type.is_overridable:
             return 0
         nargs = len(self.args)
         if nargs <> len(other_type.args):
@@ -660,7 +660,7 @@ class CFuncType(CType):
             return 1
         if not other_type.is_cfunction:
             return 0
-        if self.is_overridable != other_type.is_overridable:
+        if not self.is_overridable and other_type.is_overridable:
             return 0
         nargs = len(self.args)
         if nargs - self.optional_arg_count != len(other_type.args) - other_type.optional_arg_count: