Robert Bradshaw wrote:
> I do 
> see a difference (def functions are exposed to the "outside world") but I 
> think people are just as likely to shoot themselves in the foot with the 
> second option as well. And people will still have to be careful with
> 
> cdef ExtType x = foo()
> x.cdef_attribute

I don't actually care all that much about the Pyrex programmer
shooting himself in the foot -- there are so many ways to do
that in C land that I don't feel like going too far out of
my way to guard against this particular one.

I'm more concerned with him shooting *other* people in the
foot by not properly checking things that come in from
Python land.

This may be another area where Cython philosophy differs
from Pyrex.

As I said before, I wouldn't object to a compiler option
to check for  internal accesses to None, but I wouldn't
accept it as a replacement for None-checking at Python
function boundaries. Since it will have a performance penalty,
people will sometimes want to turn it off once they've got
their code debugged. If it were the only defense against
None, all protection from getting passed None from Python
code would then be lost.

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

Reply via email to