On Thu, Jun 03, 2021 at 02:57:42PM +0200, Peter Eisentraut wrote: > On 03.06.21 12:54, Bharath Rupireddy wrote: > > It looks like for some of the fsm_set_and_search calls whose return > > value is ignored (in fsm_search and RecordPageWithFreeSpace), there's > > no (void). Is it intentional? In the code base, we generally have > > (void) when non-void return value of a function is ignored. > > I don't think that is correct. I don't see anyone writing > > (void) printf(...);
We somehow do have a (void) fprint(...) in src/port/getopt.c. > so this is not a generally applicable strategy. > > We have pg_nodiscard for functions where you explicitly want callers to > check the return value. In all other cases, callers are free to ignore > return values. Yes, but we have a lot a examples of functions without pg_nodiscard and callers still explicitly ignoring the results, like fsm_vacuum_page() in the same file. It would be more consistent and make the code slightly more self explanatory.