why do bit operations on bool return an int? doesn't that defeat the whole point of bool? do I have to redefine every single fundamental type to not be insane?!
@pleb it's not casting in this case, it's promotion. how does promoting bool & bool to an int help compatibility with C? In fact because of the implicit casts you don't need to promote.
I want to pass bools to a generic function that uses logical bit operation and get back a bool, instead I get back an int for no reason. A freaking int not even unsigned, and until c++20 it's implementation defined what happens to a signed integer when you bit twiddle it.