October 21, 2012 A small bug database | ||||
---|---|---|---|---|
| ||||
The idea of creating a bug data base is interesting. This little data base collects only the bugs found by the PVS-Studio static analysis tool in Open Source projects: http://www.viva64.com/en/examples/ - - - - - - - - - - - I have added some examples of bugs in my "Require parenthesization of ternary operator when compounded" enhancement request: http://d.puremagic.com/issues/show_bug.cgi?id=8757 This is a common enough bug, worth avoiding with a change in D design (but it's a small breaking change). - - - - - - - - - - - >The return value of function 'xxxxx' is required to be utilized:< http://www.viva64.com/en/examples-V530/ In D there are several Phobos functions like empty() that have no side effects, so ignoring their return value is sometimes a bug. In GNU-C there is a function attribute named "warn_unused_result": http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html In D a @warn_unused_result is maybe handy for functions like empty(). - - - - - - - - - - - http://www.viva64.com/en/examples-V564/ It's mostly about the (!x & y) bug pattern, that is not yet forbidden in D: http://d.puremagic.com/issues/show_bug.cgi?id=5409 - - - - - - - - - - - http://www.viva64.com/en/examples-V588/ This is about the "=+" and "=-" bug patterns. Not very common but easy to spot. - - - - - - - - - - - Bye, bearophile |
Copyright © 1999-2021 by the D Language Foundation