Problema no cython: 'bool' não é um identificador de tipo

Estou tentando desesperadamente expor umstd::vector<bool> membro da classe para uma classe Python.

Aqui está minha classe C ++:

class Test
{
  public:
    std::vector<bool> test_fail;
    std::vector<double> test_ok;
};

Embora o acesso e a conversão detest_ok do tipodouble (ou int, float, ..) funciona, não funciona parabool!

Aqui está a minha classe Cython:

cdef class pyTest:
     cdef Test* thisptr
     cdef public vector[bool] test_fail
     cdef public vector[double] test_ok

     cdef __cinit__(self):
         self.thisptr = new Test()
         self.test_fail = self.thisptr.test_fail # compiles and works if commented
         self.test_ok = self.thisptr.test_ok

     cdef __dealloc__(self):
         del self.thisptr

O erro que recebo é:

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




cdef extern from *:
    ctypedef bool X 'bool'
            ^
------------------------------------------------------------

vector.from_py:37:13: 'bool' is not a type identifier

Estou usando python 2.7.6 e Cython 0.20.2 (também tentei 0.20.1).

Eu também tentei com propriedades, mas também não funciona.

Termo aditivo: Eu tenho ofrom libcpp cimport bool na parte superior do meu arquivo pyx, bem como na importação de vetores.

O que há de errado ?? Eu acredito que isso pode ser um bug. Alguém sabe como contornar isso? Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion