From: Kaartic Sivaraam Date: Sat, 23 Sep 2017 12:17:09 GMT Subject: Re: [RFC PATCH 1/5] builtin/checkout: avoid usage of '!!' Message-ID: In-Reply-To: On Thursday 21 September 2017 07:01 AM, Junio C Hamano wrote: > What does "with arithmetic constructs" mean? Would it refer to > things like > > !!i != !!(j + 3) > > that unnecessarily obfuscates what is going on? Thanks that clears the confusion because I haven't seen constructs like this before (who would even do something like this?) > The primary reason why !!ptr is good in the code that this patch > touches is because what is doubly negated is a pointer, not an > integer or other things. The called function does *not* limit its > input to 0 or 1 (it wants 0 for false and everything else for true), > so we wouldn't be doing !!i if what we are passing is already an > integer. But we cannot just pass a pointer to such a parameter > without getting the compiler upset. > > Done. So I'll drop this patch. --- Kaartic