[Cython] CF based type inference
Robert Bradshaw
robertwb at gmail.com
Wed May 9 20:15:07 CEST 2012
On Wed, May 9, 2012 at 6:33 AM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> mark florisson, 09.05.2012 15:18:
>> On 9 May 2012 14:16, Vitja Makarov wrote:
>>> from cython cimport typeof
>>>
>>> def foo(float[::1] a):
>>> b = a
>>> #del b
>>> print typeof(b)
>>> print typeof(a)
>>>
>>>
>>> In this example `b` is inferred as 'Python object' and not
>>> `float[::1]`, is that correct?
>>>
>> That's the current behaviour, but it would be better if it inferred a
>> memoryview slice instead.
>
> +1
+1. This looks like it would break inference of extension classes as well.
https://github.com/vitek/cython/commit/f5acf44be0f647bdcbb5a23c8bfbceff48f4414e#L0R336
could be changed to check if it's already a py_object_type (or memory
view) as a quick fix, but it's not as pure as adding the constraints
"can be del'ed" to the type inference engine.
- Robert
More information about the cython-devel
mailing list