On 12/07/2016 10:57 AM, Francois Bissey wrote:
> 
>> On 7/12/2016, at 21:15, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
>>
>> On 2016-12-07 04:17, Francois Bissey wrote:
>>> But I am not sure how to do the
>>> __new__ = object.__new__ in cython.
>>
>> You certainly cannot do that since Cython's __new__ does non-trivial stuff 
>> like setting the vtab for c(p)def method calls. This is also partially the 
>> reason why cannot even implement __new__ for Cython cdef classes.
>>
> 
> OK, unless you can do something at the level
> of tp_call (slot_tp_call may be) like Tobias
> tried, that makes it a fundamental cython
> problem. That kind of stuff will likely
> happen with any cython cdef classes, right?
> 
> François
> 

That's what I tried with my cython example (attached), but there the
error didn't show.

Tobias

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.
from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize("test.pyx")
)
cdef class WithEqualityById:
    pass

class CachedRepresentation:
    pass

class UniqueRepresentation(CachedRepresentation, WithEqualityById):
    pass

cdef class SageObject:
    pass

class UnknownClass(UniqueRepresentation, SageObject):
    pass

Unknown = UnknownClass()

Reply via email to