foo.pxd:
cdef class cls: pass
ctypedef int typ
main.pxd:
from foo cimport cls, typ
main.pyx:
import cython
@cython.locals(a='cls')
def f(a): pass
@cython.locals(b='typ') # doesn't compile
def g(b): pass
Cython компилирует функцию f (), но не функция g (), говоря «не тип». Если я удалю кавычки из 'typ', он будет скомпилирован, но больше не будет работать в интерпретаторе. Для меня важно, чтобы любое решение работало скомпилировано и интерпретировано.