Re: [Cython] Surprising behaviour wrt. generated tp_clear and tp_dealloc functions

2013-04-22 Thread Stefan Behnel
Greg Ewing, 23.04.2013 01:16: > Stefan Behnel wrote: >> Torsten Landschoff, 22.04.2013 13:07: >>> One could even think about building a graph of possible object >>> relationships ... Slot refers only to Slots and Slots only to Context, so >>> these can't build a cycle. >> >> Interesting. Yes, that

Re: [Cython] Autodoc improvements (#216)

2013-04-22 Thread Robert Bradshaw
Jumping into this thread late, improvements (1) and (3) certainly seem beneficial. As far as documenting "attributes," I can't see much of a use, but the downsides seem are low enough (accidentally assigning a stray string to the previously declared attribute) and the implementation non-invasive en

Re: [Cython] Surprising behaviour wrt. generated tp_clear and tp_dealloc functions

2013-04-22 Thread Greg Ewing
Stefan Behnel wrote: Torsten Landschoff, 22.04.2013 13:07: One could even think about building a graph of possible object relationships ... Slot refers only to Slots and Slots only to Context, so these can't build a cycle. Interesting. Yes, that might work. Only if subclassing of Slot and

Re: [Cython] Surprising behaviour wrt. generated tp_clear and tp_dealloc functions

2013-04-22 Thread Stefan Behnel
Torsten Landschoff, 22.04.2013 13:56: > On 04/22/2013 01:50 PM, Stefan Behnel wrote: >>> a good idea would be to warn if __dealloc__ actually references a >>> Python attribute that tp_clear could have cleared, with a pointer to the >>> class decorator that exempts the attribute/instance from tp_cle

Re: [Cython] Surprising behaviour wrt. generated tp_clear and tp_dealloc functions

2013-04-22 Thread Torsten Landschoff
Hi Stefan, On 04/22/2013 01:50 PM, Stefan Behnel wrote: > Exactly - an extremely special case. It's an inherent property of the > Cython language that user visible references are never NULL. (minus > evil C code, obviously.) Suits me. >> a good idea would be to warn if __dealloc__ actually refere

Re: [Cython] Surprising behaviour wrt. generated tp_clear and tp_dealloc functions

2013-04-22 Thread Stefan Behnel
Torsten Landschoff, 22.04.2013 13:07: > On 04/22/2013 07:31 AM, Stefan Behnel wrote: >>> But this did not give me the crucial hint: Currently, any references to >>> Python objects *may* be invalid at the time dealloc is called. This is >>> because Cython generates a tp_clear function for each exten

Re: [Cython] Surprising behaviour wrt. generated tp_clear and tp_dealloc functions

2013-04-22 Thread Torsten Landschoff
Hi Stefan, thank you for your extremely quick reply! On 04/22/2013 07:31 AM, Stefan Behnel wrote: >> But this did not give me the crucial hint: Currently, any references to >> Python objects *may* be invalid at the time dealloc is called. This is >> because Cython generates a tp_clear function fo