Skip to content

Commit

Permalink
Document default values for primitive types
Browse files Browse the repository at this point in the history
  • Loading branch information
vbrandl committed Jul 15, 2017
1 parent ae4803a commit db19bf0
Showing 1 changed file with 19 additions and 18 deletions.
37 changes: 19 additions & 18 deletions src/libcore/default.rs
Expand Up @@ -126,32 +126,33 @@ pub trait Default: Sized {
}

macro_rules! default_impl {
($t:ty, $v:expr) => {
($t:ty, $v:expr, $doc:expr) => {
#[stable(feature = "rust1", since = "1.0.0")]
impl Default for $t {
#[inline]
#[doc = $doc]
fn default() -> $t { $v }
}
}
}

default_impl! { (), () }
default_impl! { bool, false }
default_impl! { char, '\x00' }
default_impl! { (), (), "Defaults to `()`" }
default_impl! { bool, false, "Defaults to `false`" }
default_impl! { char, '\x00', "Defaults to `\\x00`" }

default_impl! { usize, 0 }
default_impl! { u8, 0 }
default_impl! { u16, 0 }
default_impl! { u32, 0 }
default_impl! { u64, 0 }
default_impl! { u128, 0 }
default_impl! { usize, 0, "Defaults to `0`" }
default_impl! { u8, 0, "Defaults to `0`" }
default_impl! { u16, 0, "Defaults to `0`" }
default_impl! { u32, 0, "Defaults to `0`" }
default_impl! { u64, 0, "Defaults to `0`" }
default_impl! { u128, 0, "Defaults to `0`" }

default_impl! { isize, 0 }
default_impl! { i8, 0 }
default_impl! { i16, 0 }
default_impl! { i32, 0 }
default_impl! { i64, 0 }
default_impl! { i128, 0 }
default_impl! { isize, 0, "Defaults to `0`" }
default_impl! { i8, 0, "Defaults to `0`" }
default_impl! { i16, 0, "Defaults to `0`" }
default_impl! { i32, 0, "Defaults to `0`" }
default_impl! { i64, 0, "Defaults to `0`" }
default_impl! { i128, 0, "Defaults to `0`" }

default_impl! { f32, 0.0f32 }
default_impl! { f64, 0.0f64 }
default_impl! { f32, 0.0f32, "Defaults to `0.0`" }
default_impl! { f64, 0.0f64, "Defaults to `0.0`" }

0 comments on commit db19bf0

Please sign in to comment.