On Fri, Dec 15, 2023 at 02:46:36PM +0000, Phillip Wood wrote: > > Yeah. b2() is wrong for passing "2" to a bool. > > I think it depends what you mean by "wrong" §6.3.1.2 of standard is quite > clear that when any non-zero scalar value is converted to _Bool the result > is "1" Yeah, sorry, I was being quite sloppy with my wording. I meant "wrong" as in "I would ideally flag this in review for being weird and confusing". Of course there are many reasonable cases where you might pass an integer "foo" rather than explicitly booleanizing it with "!!foo". So I do agree it's a real potential problem (and I'm sufficiently convinced that we should avoid an "int" fallback if we can). -Peff