Robert Bradshaw wrote:
BTW, the "public" keyword is the wrong thing to use here, as that actually controls name mangling and (c-level) symbol exporting. The fact that means a different thing for members than for top-level symbols isn't ideal, but at least it's unambiguous as members need not be mangled.
The overloading of 'public' is really a bit of a mess. I've been thinking for a while that there really ought to be a different keyword such as "exposed" for declaring that things are to be exposed to Python. It would be useful in lots of ways: cdef class Foo: cdef exposed int i # formerly 'public' cdef exposed enum E: a, b, c # creates Python bindings for these names cdef exposed struct S: # Exposed but mangled as usual ... cdef public exposed struct S: # Exposed and unmangled ... -- Greg _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel