std: Add a bunch of Default impls
This commit is contained in:
parent
38f97ea103
commit
ca47eebb44
12 changed files with 82 additions and 5 deletions
|
@ -417,6 +417,13 @@ impl Uuid {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for Uuid {
|
||||
/// Returns the nil UUID, which is all zeroes
|
||||
fn default() -> Uuid {
|
||||
Uuid::new_nil()
|
||||
}
|
||||
}
|
||||
|
||||
impl Zero for Uuid {
|
||||
/// Returns the nil UUID, which is all zeroes
|
||||
fn zero() -> Uuid {
|
||||
|
|
|
@ -24,6 +24,7 @@ Implementations of the following traits:
|
|||
* `Ord`
|
||||
* `TotalOrd`
|
||||
* `Eq`
|
||||
* `Default`
|
||||
* `Zero`
|
||||
|
||||
## Various functions to compare `bool`s
|
||||
|
@ -43,6 +44,7 @@ use to_str::ToStr;
|
|||
|
||||
#[cfg(not(test))] use cmp::{Eq, Ord, TotalOrd, Ordering};
|
||||
#[cfg(not(test))] use ops::Not;
|
||||
#[cfg(not(test))] use default::Default;
|
||||
#[cfg(not(test))] use num::Zero;
|
||||
|
||||
/**
|
||||
|
@ -323,6 +325,11 @@ impl Eq for bool {
|
|||
fn eq(&self, other: &bool) -> bool { (*self) == (*other) }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Default for bool {
|
||||
fn default() -> bool { false }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Zero for bool {
|
||||
fn zero() -> bool { false }
|
||||
|
|
|
@ -21,6 +21,7 @@ use str;
|
|||
#[cfg(test)] use str::OwnedStr;
|
||||
|
||||
#[cfg(not(test))] use cmp::{Eq, Ord};
|
||||
#[cfg(not(test))] use default::Default;
|
||||
#[cfg(not(test))] use num::Zero;
|
||||
|
||||
// UTF-8 ranges and tags for encoding characters
|
||||
|
@ -434,9 +435,18 @@ impl Ord for char {
|
|||
fn lt(&self, other: &char) -> bool { *self < *other }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Default for char {
|
||||
#[inline]
|
||||
fn default() -> char { '\x00' }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Zero for char {
|
||||
#[inline]
|
||||
fn zero() -> char { '\x00' }
|
||||
|
||||
#[inline]
|
||||
fn is_zero(&self) -> bool { *self == '\x00' }
|
||||
}
|
||||
|
||||
|
|
|
@ -15,3 +15,15 @@ pub trait Default {
|
|||
/// Return the "default value" for a type.
|
||||
fn default() -> Self;
|
||||
}
|
||||
|
||||
impl<T: Default + 'static> Default for @mut T {
|
||||
fn default() -> @mut T { @mut Default::default() }
|
||||
}
|
||||
|
||||
impl<T: Default + 'static> Default for @T {
|
||||
fn default() -> @T { @Default::default() }
|
||||
}
|
||||
|
||||
impl<T: Default> Default for ~T {
|
||||
fn default() -> ~T { ~Default::default() }
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#[allow(missing_doc)];
|
||||
#[allow(non_uppercase_statics)];
|
||||
|
||||
use default::Default;
|
||||
use libc::c_int;
|
||||
use num::{Zero, One, strconv};
|
||||
use num::{FPCategory, FPNaN, FPInfinite , FPZero, FPSubnormal, FPNormal};
|
||||
|
@ -237,6 +238,11 @@ impl Orderable for f32 {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for f32 {
|
||||
#[inline]
|
||||
fn default() -> f32 { 0.0 }
|
||||
}
|
||||
|
||||
impl Zero for f32 {
|
||||
#[inline]
|
||||
fn zero() -> f32 { 0.0 }
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#[allow(missing_doc)];
|
||||
#[allow(non_uppercase_statics)];
|
||||
|
||||
use default::Default;
|
||||
use libc::c_int;
|
||||
use num::{Zero, One, strconv};
|
||||
use num::{FPCategory, FPNaN, FPInfinite , FPZero, FPSubnormal, FPNormal};
|
||||
|
@ -260,6 +261,11 @@ impl Orderable for f64 {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for f64 {
|
||||
#[inline]
|
||||
fn default() -> f64 { 0.0 }
|
||||
}
|
||||
|
||||
impl Zero for f64 {
|
||||
#[inline]
|
||||
fn zero() -> f64 { 0.0 }
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#[allow(missing_doc)];
|
||||
#[allow(non_uppercase_statics)];
|
||||
|
||||
use default::Default;
|
||||
use num::{Zero, One, strconv};
|
||||
use num::FPCategory;
|
||||
use num;
|
||||
|
@ -382,6 +383,11 @@ impl Orderable for float {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for float {
|
||||
#[inline]
|
||||
fn default() -> float { 0.0 }
|
||||
}
|
||||
|
||||
impl Zero for float {
|
||||
#[inline]
|
||||
fn zero() -> float { 0.0 }
|
||||
|
|
|
@ -16,6 +16,7 @@ macro_rules! int_module (($T:ty, $bits:expr) => (mod generated {
|
|||
|
||||
#[allow(non_uppercase_statics)];
|
||||
|
||||
use default::Default;
|
||||
use num::{ToStrRadix, FromStrRadix};
|
||||
use num::{CheckedDiv, Zero, One, strconv};
|
||||
use prelude::*;
|
||||
|
@ -167,6 +168,11 @@ impl Orderable for $T {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for $T {
|
||||
#[inline]
|
||||
fn default() -> $T { 0 }
|
||||
}
|
||||
|
||||
impl Zero for $T {
|
||||
#[inline]
|
||||
fn zero() -> $T { 0 }
|
||||
|
|
|
@ -16,6 +16,7 @@ macro_rules! uint_module (($T:ty, $T_SIGNED:ty, $bits:expr) => (mod generated {
|
|||
|
||||
#[allow(non_uppercase_statics)];
|
||||
|
||||
use default::Default;
|
||||
use num::BitCount;
|
||||
use num::{ToStrRadix, FromStrRadix};
|
||||
use num::{CheckedDiv, Zero, One, strconv};
|
||||
|
@ -172,6 +173,11 @@ impl Orderable for $T {
|
|||
}
|
||||
}
|
||||
|
||||
impl Default for $T {
|
||||
#[inline]
|
||||
fn default() -> $T { 0 }
|
||||
}
|
||||
|
||||
impl Zero for $T {
|
||||
#[inline]
|
||||
fn zero() -> $T { 0 }
|
||||
|
|
|
@ -459,6 +459,7 @@ impl<T: Default> Option<T> {
|
|||
}
|
||||
|
||||
impl<T> Default for Option<T> {
|
||||
#[inline]
|
||||
fn default() -> Option<T> { None }
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ macro_rules! tuple_impls {
|
|||
pub mod inner {
|
||||
use clone::Clone;
|
||||
#[cfg(not(test))] use cmp::*;
|
||||
#[cfg(not(test))] use default::Default;
|
||||
#[cfg(not(test))] use num::Zero;
|
||||
|
||||
$(
|
||||
|
@ -172,6 +173,14 @@ macro_rules! tuple_impls {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl<$($T:Default),+> Default for ($($T,)+) {
|
||||
#[inline]
|
||||
fn default() -> ($($T,)+) {
|
||||
($({ let x: $T = Default::default(); x},)+)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl<$($T:Zero),+> Zero for ($($T,)+) {
|
||||
#[inline]
|
||||
|
|
|
@ -45,6 +45,12 @@ impl TotalEq for () {
|
|||
fn equals(&self, _other: &()) -> bool { true }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Default for () {
|
||||
#[inline]
|
||||
fn default() -> () { () }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Zero for () {
|
||||
#[inline]
|
||||
|
@ -52,8 +58,3 @@ impl Zero for () {
|
|||
#[inline]
|
||||
fn is_zero(&self) -> bool { true }
|
||||
}
|
||||
|
||||
#[cfg(not(test))]
|
||||
impl Default for () {
|
||||
fn default() -> () { () }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue