bool myBool = true;
myBool |= someFcnThatReturnsBoolean();
would be equivalent to
bool myBool = true;
myBool = myBool | someFcnThatReturnsBoolean();
The bitwise OR (|
) will always evaluate both operands, thus your function will always be called.