Skip to content

Commit

Permalink
Impl Not for bool
Browse files Browse the repository at this point in the history
  • Loading branch information
brendanzab authored and thestinger committed Jul 9, 2013
1 parent f2bd441 commit 763d846
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions src/libstd/bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ A quick summary:
Implementations of the following traits:
* `FromStr`
* `ToStr`
* `Not`
* `Ord`
* `TotalOrd`
* `Eq`
Expand All @@ -36,6 +38,8 @@ Finally, some inquries into the nature of truth: `is_true` and `is_false`.

#[cfg(not(test))]
use cmp::{Eq, Ord, TotalOrd, Ordering};
#[cfg(not(test))]
use ops::Not;
use option::{None, Option, Some};
use from_str::FromStr;
use to_str::ToStr;
Expand Down Expand Up @@ -254,6 +258,27 @@ pub fn all_values(blk: &fn(v: bool)) {
#[inline]
pub fn to_bit(v: bool) -> u8 { if v { 1u8 } else { 0u8 } }

/**
* The logical complement of a boolean value.
*
* # Examples
*
* ~~~rust
* rusti> !true
* false
* ~~~
*
* ~~~rust
* rusti> !false
* true
* ~~~
*/
#[cfg(not(test))]
impl Not<bool> for bool {
#[inline]
fn not(&self) -> bool { !*self }
}

#[cfg(not(test))]
impl Ord for bool {
#[inline]
Expand Down

0 comments on commit 763d846

Please sign in to comment.