On 28 April 2011 21:58, Stefan Behnel <stefan...@behnel.de> wrote: > mark florisson, 28.04.2011 21:48: >> >> I'm currently wondering about the proposed >> cython.typeof(). I believe it currently returns a string with the type >> name, and not the type itself. So I think it would be inconsistent to >> suddenly start allowing comparison with 'is' and 'isinstance' and >> such. >> >> I'm also wondering if it would be useful to allow actual type >> retrieval, which could be used in declarations and casts. For instance >> consider fusing two structs with the same attribute name but different >> attribute types. Perhaps in your code you want to introduce a variable >> compatible with such a type, e.g. consider this: >> >> ctypdef struct A: >> int attrib >> >> ctypedef struct B: >> char *attrib >> >> ctypedef cython.fused_type(A, B) struct_t >> >> cdef func(struct_t mystruct, int i): >> cdef cython.gettype(mystruct.attrib) var = mystruct.attrib + i > > What's wrong with type() ? > > Stefan > _______________________________________________ > cython-devel mailing list > cython-devel@python.org > http://mail.python.org/mailman/listinfo/cython-devel >
When you call type you kind of expect it to call the Python builtin type(), which means it will coerce your C type to a Python object, on which it will call type(). So if you change those semantics suddenly for C types, I think we'd break people's code. _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel