From eb97c26d3b3a3c59ddd48fba2780259b906904a1 Mon Sep 17 00:00:00 2001 From: Ravi Shankar Date: Tue, 23 Feb 2016 19:05:35 +0530 Subject: [PATCH] Updated the primitive docs for bool --- src/libstd/primitive_docs.rs | 45 +++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs index b840e51873e3f..e5819522123c4 100644 --- a/src/libstd/primitive_docs.rs +++ b/src/libstd/primitive_docs.rs @@ -12,6 +12,50 @@ // /// The boolean type. /// +/// The `bool` represents a value, which could only be either `true` or `false`. +/// +/// # Basic usage +/// +/// `bool` implements various traits, such as [`BitAnd`], [`BitOr`], [`Not`], etc., +/// which allow us to perform boolean operations using `&`, `|` and `!`. +/// +/// [`if`] always demands a `bool` value. [`assert!`], being an important macro in testing, +/// checks whether an expression returns `true`. +/// +/// ``` +/// let bool_val = true & false | false; +/// assert!(!bool_val); +/// ``` +/// +/// [`assert!`]: std/macro.assert!.html +/// [`if` conditionals]: ../../book/if.html +/// [`BitAnd`]: ../ops/trait.BitAnd.html +/// [`BitOr`]: ../ops/trait.BitOr.html +/// [`Not`]: ../ops/trait.Not.html +/// +/// # Examples +/// +/// A trivial example of the usage of `bool`, +/// +/// ``` +/// let praise_the_borrow_checker = true; +/// +/// // using the `if` conditional +/// if praise_the_borrow_checker { +/// println!("oh, yeah!"); +/// } else { +/// println!("what?!!"); +/// } +/// +/// // ... or, a match pattern +/// match praise_the_borrow_checker { +/// true => println!("keep praising!"), +/// false => println!("you should praise!"), +/// } +/// ``` +/// +/// Also, since `bool` implements the [`Copy`](../marker/trait.Copy.html) trait, we don't +/// have to worry about the move semantics (just like the integer and float primitives). mod prim_bool { } #[doc(primitive = "char")] @@ -533,4 +577,3 @@ mod prim_isize { } /// *[See also the `std::usize` module](usize/index.html).* /// mod prim_usize { } -