-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// Copyright 2012-2017 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
#![doc(hidden)]
-macro_rules! uint_module { ($T:ty, $T_SIGNED:ty, $bits:expr) => (
-
-#[unstable(feature = "num_bits_bytes",
- reason = "may want to be an associated function")]
-#[allow(missing_docs)]
-pub const BITS : usize = $bits;
-#[unstable(feature = "num_bits_bytes",
- reason = "may want to be an associated function")]
-#[allow(missing_docs)]
-pub const BYTES : usize = ($bits / 8);
-
-#[stable(feature = "rust1", since = "1.0.0")]
-#[allow(missing_docs)]
-pub const MIN: $T = 0 as $T;
-#[stable(feature = "rust1", since = "1.0.0")]
-#[allow(missing_docs)]
-pub const MAX: $T = !0 as $T;
-
-) }
+macro_rules! uint_module {
+ ($T:ident) => (uint_module!($T, #[stable(feature = "rust1", since = "1.0.0")]););
+ ($T:ident, #[$attr:meta]) => (
+ /// The smallest value that can be represented by this integer type.
+ #[$attr]
+ pub const MIN: $T = $T::min_value();
+ /// The largest value that can be represented by this integer type.
+ #[$attr]
+ pub const MAX: $T = $T::max_value();
+ )
+}