On Wed, 10 Feb 2016, Yury V. Zaytsev wrote:

Hope that helps to fix the problem for good though!

Apparently a separate, but related bug: when C++ class constructor is templated, Cython fails to compile the code.

However, if I specify a return type (irrespectively of what type is), it seems to work and some meaningful code is generated:

    cdef extern from * nogil:
        cdef cppclass test:
            test test()
            test test[input_iterator](input_iterator, input_iterator)

Original error messages below:

Error compiling Cython file:
------------------------------------------------------------
...


cdef extern from * nogil:
    cdef cppclass test:
        test()
        test[input_iterator](input_iterator, input_iterator)
                          ^
------------------------------------------------------------

notatype.pyx:9:27: undeclared name not builtin: input_iterator

Error compiling Cython file:
------------------------------------------------------------
...


cdef extern from * nogil:
    cdef cppclass test:
        test()
        test[input_iterator](input_iterator, input_iterator)
                          ^
------------------------------------------------------------

notatype.pyx:9:27: Array dimension not integer

Error compiling Cython file:
------------------------------------------------------------
...


cdef extern from * nogil:
    cdef cppclass test:
        test()
        test[input_iterator](input_iterator, input_iterator)
                           ^
------------------------------------------------------------

notatype.pyx:9:28: Missing name in declaration.


--
Sincerely yours,
Yury V. Zaytsev

_______________________________________________
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel

Reply via email to