Message301244
Over in bpo-31337 the observation was made that we often use the following pattern in situations we never expect to hit:
assert(0);
return NULL;
but this isn't strictly optimal. First, the asserts can be compiled away. Second, it's possible that our assumptions about a particular condition are incorrect. Third, the intent of non-reachability isn't as clear as it could be.
As suggested in http://bugs.python.org/issue31337#msg301229 it would be better to use
abort() /* NOT REACHED */
instead (although @skrah says "The only drawback is that in the case of libraries, sometimes distribution package lint tools complain." so it would be useful to understand that in more detail.
@serhiy.storchaka says "I have counted 48 occurrences of assert(0), 11 assert(0 && "message") and 2 assert(!"message"). If fix one occurrence, why not fix all others?" We should! This issue tracks that. |
|
Date |
User |
Action |
Args |
2017-09-04 19:18:14 | barry | set | recipients:
+ barry, skrah, serhiy.storchaka |
2017-09-04 19:18:14 | barry | set | messageid: <1504552694.13.0.420212301121.issue31338@psf.upfronthosting.co.za> |
2017-09-04 19:18:14 | barry | link | issue31338 messages |
2017-09-04 19:18:14 | barry | create | |
|