Document default values for primitive types

This commit is contained in:
Valentin Brandl 2017-07-15 15:35:03 +02:00
parent ae4803a750
commit db19bf0624

View file

@ -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`" }