Could you file a bug report?

On Nov 12, 2008, at 4:16 PM, Robert Kern wrote:

> Hoyt Koepke wrote:
>>> Are you sure? I changed the line to this:
>>>
>>>   from numpy import random as rn
>>>
>>> And it worked with Cython 0.10. Possibly the code that handles  
>>> "import
>>> <foo>.<bar> as <baz>" is incorrect. It's a tricky bit of syntax.
>>
>> You're right; this does work.  I think in trying a bunch of
>> combinations to figure it out, I must have missed recompiling
>> something and so missed this.  Sorry for the noise!
>
> It's not noise. This does appear to be a bug.
>
>    /* "/Users/rkern/today/geometry/geometry.pyx":4
>   *
>   *
>   * import numpy.random as rn             # <<<<<<<<<<<<<<
>   * from copy import copy
>   *
>   */
>    __pyx_1 = PyList_New(1); if (unlikely(!__pyx_1)) {__pyx_filename =
> __pyx_f[0]; __pyx_lineno = 4; __pyx_c
> lineno = __LINE__; goto __pyx_L1_error;}
>    Py_INCREF(__pyx_kp_29);
>    PyList_SET_ITEM(__pyx_1, 0, __pyx_kp_29);
>    __pyx_2 = __Pyx_Import(__pyx_kp_28, ((PyObject *)__pyx_1)); if
> (unlikely(!__pyx_2)) {__pyx_filename = __
> pyx_f[0]; __pyx_lineno = 4; __pyx_clineno = __LINE__; goto  
> __pyx_L1_error;}
>    Py_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
>    if (PyObject_SetAttr(__pyx_m, __pyx_kp_rn, __pyx_2) < 0)  
> {__pyx_filename =
> __pyx_f[0]; __pyx_lineno = 4;
>   __pyx_clineno = __LINE__; goto __pyx_L1_error;}
>    Py_DECREF(__pyx_2); __pyx_2 = 0;
>
>
> _pyx_kp_29 is never given a value in the generated code so the  
> from_list is
> invalid. I am guessing that the "as" is fooling the code generator  
> into thinking
> that there is a from_list.
>
> If that gets fixed, there's more stuff that's broken. The module  
> that gets
> returned from __Pyx_Import() as __pyx_2 will be numpy, not  
> numpy.random, so
> there must be one or more PyObject_GetAttr()s to get the actual  
> module that
> should be assigned to the name "rn".
>
> -- 
> Robert Kern
>
> "I have come to believe that the whole world is an enigma, a  
> harmless enigma
>   that is made terrible by our own mad attempt to interpret it as  
> though it had
>   an underlying truth."
>    -- Umberto Eco
>
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev

_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to