Under the assumption, as they would only make sense to bools who were late for the party
Even if bools were in the beginning, these operators would have limited use, since without side effects they would be identical with |= and &= with boolean operands, so the only use would be a trap that transmits non-bool randomly.
If the proposed operators are also short-circuited (not unreasonable as || and && for built-in types), then you also have additional justification for them in the presence of side effects.
The only possible reason I can think of resolving them would be to greatly simplify the parsing / compilation of the language, however this is most likely not the case, since they do not make sense for non-bool types.
Ultimately, they are not in the language, because no one cared to put them in the language, so we can conclude that none of these excuses is sufficient to guarantee the cost of presenting the proposal, introducing it into the standard and exercise function.
jk.
source share