Re: [PATCH v2 1/3] git-compat-util: introduce BUG_IF_NOT() macro
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Mar 17, 2025, 22:36 UTC
- Message-ID
- <Z9ij72MASlTLT6+8@nand.local>
- In-Reply-To
- <xmqqjz8n70dt.fsf@gitster.g>
On Mon, Mar 17, 2025 at 03:33:50PM -0700, Junio C Hamano wrote:
Show 20 quoted lines
> "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes: > > > From: Elijah Newren <newren@gmail.com> > > > > Create a BUG_IF_NOT() macro which is similar to assert(), but will not be > > compiled out when NDEBUG is defined, and is thus safe to use even if its > > argument has side-effects. > > If this is meant to be "similar to" assert, let's not call it > BUG_IF_NOT(). The point of BUG() is that the developer can mark the > problem with something more than just a conditional, and it feels > funny to call a facility that lacks that central feature with a name > with BUG in it. > > ASSERT(), safer_assert(), safe_assert(), sane_assert()? > > The last one is in line with safe_istest() that is used on > sane_ctype[] and sane_qsort(), with the intention to allow > developers to write right code more easily than using the plain > vanilla C.
For my $.02, I prefer ASSERT() to the other options. It's clear, but indicates that it's a macro and thus not the same as assert(3). But I don't have a strong opinion here.
Thanks, Taylor