[Cython] CF based type inference

Vitja Makarov vitja.makarov at gmail.com
Wed May 9 14:21:37 CEST 2012


2012/5/9 Stefan Behnel <stefan_ml at behnel.de>:
> Stefan Behnel, 08.05.2012 14:24:
>> Vitja has rebased the type inference on the control flow
>
> On a related note, is this fixable now?
>
>  def test():
>      x = 1    # inferred as int
>      del x    # error: Deletion of non-Python, non-C++ object
>
> http://trac.cython.org/cython_trac/ticket/768
>
> It might be enough to infer "object" for names that are being del-ed for
> now, and to fix "del" The Right Way when we split entries.
>

Do you mean that `x` should be inferred as "python object" in your example?

Yes, we may add workaround for del <unspecified_type> case.
Del is represented now by NameDeletion with the same rhs and lhs.

We can add method infer_type() to NameAssignment and use it instead of
Node.infer_type()


-- 
vitja.


More information about the cython-devel mailing list