Michael Enßlin schrieb am 07.05.2015 um 15:13: > consider the following example: > > $ cat demo.pyx > cdef void (*foo)() > > cdef void bar() except*: > pass > > foo = bar > > > > $ cython demo.pyx > > Error compiling Cython file: > ------------------------------------------------------------ > ... > cdef void (*foo)() > > cdef void bar() except*: > pass > > foo = bar > ^ > ------------------------------------------------------------ > > demo.pyx:6:9: Cannot assign type 'void (void)' to 'void (*)(void)' > > this is all expected behavior, but the error message is entirely > misleading; it should be something like > > demo.pyx:6:9: Function pointers have incompatible 'except *' declarations.
Thanks for the report. I think displaying "except *" as part of the function type would make this clear enough, i.e. you'd get Cannot assign type 'void (void) except *' to 'void (*)(void)' https://github.com/cython/cython/commit/937f83149eaf979850faa25f62857e29726c11a6 Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org https://mail.python.org/mailman/listinfo/cython-devel