Subject: Re: [PATCH 2/2] merge-ort: fix slightly overzealous assertion for rename-to-self

From: Junio C Hamano <[email-masked]>
Date: Thu, 13 Mar 2025 09:55:20 -0700

Elijah Newren <[email-masked]> writes:

> On Wed, Mar 12, 2025 at 4:18 PM Junio C Hamano <[email-masked]> wrote:
>>
>> Elijah Newren <[email-masked]> writes:
>>
>> > But it might be worth mentioning that having side-effects in
>> > assertions is a huge no-no, and I understand that when folks have to
>> > debug one of those (I had to in a separate project years ago which was
>> > kind of nasty), that they sometimes jump to the conclusion that
>> > assertions are bad.
>>
>> Yes, assert() invites such mistakes.  Why not avoid them when there
>> are better alternatives like "if (condition) BUG()"?
>
> I mean, I just gave my reasons above which you snipped out.  But if
> you feel it is important for folks to move away from assert(), would
> you like to see someone create a better alternative to assert, such as
> BUG_ON(condition), so that they have reason to want to switch?

You said "BUG_ON()" is better than "if (condition) BUG()", but I do
not see a reason why.  It also shares the same problem with assert()
if we make it honor NDEBUG.

Thanks.