language/documentation/book/src/bool.md
bool is Move's primitive type for boolean true and false values.
Literals for bool are either true or false.
bool supports three logical operations:
| Syntax | Description | Equivalent Expression |
|---|---|---|
&& | short-circuiting logical and | p && q is equivalent to if (p) q else false |
| <code>||</code> | short-circuiting logical or | <code>p || q</code> is equivalent to if (p) true else q |
! | logical negation | !p is equivalent to if (p) false else true |
bool values are used in several of Move's control-flow constructs:
As with the other scalar values built-in to the language, boolean values are implicitly copyable, meaning they can be copied without an explicit instruction such as copy.