Impl Not for bool

This commit is contained in:
Brendan Zabarauskas 2013-07-07 22:32:02 +10:00 committed by Daniel Micay
parent f2bd4416fa
commit 763d846dd3
1 changed files with 25 additions and 0 deletions

View File

@ -19,6 +19,8 @@ A quick summary:
Implementations of the following traits:
* `FromStr`
* `ToStr`
* `Not`
* `Ord`
* `TotalOrd`
* `Eq`
@ -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;
@ -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]