Consider this declaration, where any of the [nogil], [except*], [with
gil] bits could be present or absent::

    ctypedef int (*foo)() nogil except* with gil

The corresponding parser lines are the one below::

        nogil = p_nogil(s)
        exc_val, exc_check = p_exception_value_clause(s)
        with_gil = p_with_gil(s)


It is somewhat unintuitive/contrived ::

(1) What "int(*foo)() nogil with gil" does actually mean?

(2)  "int(*foo)() nogil with gil" is redundant, as "int(*foo)() with
gil" would be enough (i.e., implies "nogil").

(3) I "int (*foo)() except* nogil" is illegal syntax, but "int
(*foo)() except* with gil" is legal.


>From that list, what really annoys me is (3). What do you think?

Greg, Is there a rationale for all that?


-- 
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to