Document behavior of bitwise operators with boolean arguments

This commit is contained in:
Vadim Petrochenkov 2015-06-17 00:44:40 +03:00
parent 10356458a7
commit a8f666f1f4

View File

@ -2768,22 +2768,24 @@ meaning of the operators on standard types is given here.
Like the [arithmetic operators](#arithmetic-operators), bitwise operators are
syntactic sugar for calls to methods of built-in traits. This means that
bitwise operators can be overridden for user-defined types. The default
meaning of the operators on standard types is given here.
meaning of the operators on standard types is given here. Bitwise `&`, `|` and
`^` applied to boolean arguments are equivalent to logical `&&`, `||` and `!=`
evaluated in non-lazy fashion.
* `&`
: And.
: Bitwise AND.
Calls the `bitand` method of the `std::ops::BitAnd` trait.
* `|`
: Inclusive or.
: Bitwise inclusive OR.
Calls the `bitor` method of the `std::ops::BitOr` trait.
* `^`
: Exclusive or.
: Bitwise exclusive OR.
Calls the `bitxor` method of the `std::ops::BitXor` trait.
* `<<`
: Left shift.
Calls the `shl` method of the `std::ops::Shl` trait.
* `>>`
: Right shift.
: Right shift (arithmetic).
Calls the `shr` method of the `std::ops::Shr` trait.
#### Lazy boolean operators