> On Wed, Apr 09, 2003 at 03:33:47PM -0400, Jeremy Hylton wrote: > > Why does tp_clear have a return value? All the code I've seen returns > > 0, but the only place that clear is called doesn't inspect its return > > value. [In response, Neil admitted] > I guess I would have to say overdesign. I was thinking that tp_clear > and tp_traverse could somehow be used by things other than the GC. In > retrospect that doesn't seem likely or even possible. The GC has pretty > specific requirements. > > In retrospect, I think both tp_traverse and tp_clear should have > returned "void". That would have made implementing those methods > easier. Testing for errors in tp_traverse methods is silly since > nothing returns an error, and, even if it did, the GC couldn't handle > it. > > :-( > > How do we sort this out? I suppose one step would be to document that > the return values of tp_traverse and tp_clear are ignored. If we agree > on that, I volunteer to go through the code and remove the useless tests > for errors in the tp_traverse methods. That's a good first step. Unfortunately changing the declaration to void will break 3rd party extensions so that will be too painful. --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4