From a8f666f1f4980a9bbc5b1c94db7eb401dbe47070 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Wed, 17 Jun 2015 00:44:40 +0300 Subject: [PATCH] Document behavior of bitwise operators with boolean arguments --- src/doc/reference.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/doc/reference.md b/src/doc/reference.md index 5be61a51bf0a4..9a72cd489d3b1 100644 --- a/src/doc/reference.md +++ b/src/doc/reference.md @@ -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