[Cython] CF based type inference
vitja.makarov at gmail.com
Wed May 9 20:21:48 CEST 2012
2012/5/9 Robert Bradshaw <robertwb at gmail.com>:
> 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. This looks like it would break inference of extension classes as well.
> 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.
Yeah, right. It must be something like this:
if not inferred_type.is_pyobject and
More information about the cython-devel