hi!
consider this:
CFFI> (defstruct foo ())
CFFI> (defctype* foo foo)
CFFI> (defcfun func foo)
it puts cffi in an endless recursion. if it's possible, there should be some kind of error checking at the type definition that avoids this.
"Attila Lendvai" attila.lendvai@gmail.com writes: [...]
CFFI> (defctype* foo foo)
CFFI> (defcfun func foo)
it puts cffi in an endless recursion. if it's possible, there should be some kind of error checking at the type definition that avoids this.
I've pushed a fix that should take care of
(defctype* foo foo)
as well as
(defctype* bar baz) (defctype* baz bar)
It will also signal an error when doing something like this:
(defctype foo :int) (defctype foo foo)
Though that doesn't actually create a cycle.