diff options
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/lib.rs | 45 | ||||
| -rw-r--r-- | src/libstd/macros.rs | 9 | ||||
| -rw-r--r-- | src/libstd/num/float_macros.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/i16.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/i32.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/i64.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/i8.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/int_macros.rs | 15 | ||||
| -rw-r--r-- | src/libstd/num/isize.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/u16.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/u32.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/u64.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/u8.rs | 19 | ||||
| -rw-r--r-- | src/libstd/num/uint_macros.rs | 50 | ||||
| -rw-r--r-- | src/libstd/num/usize.rs | 19 |
15 files changed, 25 insertions, 303 deletions
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 655fa04c264..8fed380a5b4 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -253,7 +253,6 @@ // Don't link to std. We are std. #![no_std] -#![allow(trivial_casts)] #![deny(missing_docs)] #[cfg(test)] extern crate test; @@ -263,7 +262,7 @@ // imported by the compiler (via our #[no_std] attribute) In this case we just // add a new crate name so we can attach the reexports to it. #[macro_reexport(assert, assert_eq, debug_assert, debug_assert_eq, - unreachable, unimplemented, write, writeln)] + unreachable, unimplemented, write, writeln)] extern crate core as __core; #[macro_use] @@ -307,7 +306,6 @@ pub use core_collections::fmt; pub use core_collections::slice; pub use core_collections::str; pub use core_collections::string; -#[stable(feature = "rust1", since = "1.0.0")] pub use core_collections::vec; pub use rustc_unicode::char; @@ -326,32 +324,21 @@ pub mod prelude; /* Primitive types */ -// NB: slice and str are primitive types too, but their module docs + primitive doc pages -// are inlined from the public re-exports of core_collections::{slice, str} above. - -#[path = "num/float_macros.rs"] -#[macro_use] -mod float_macros; - -#[path = "num/int_macros.rs"] -#[macro_use] -mod int_macros; - -#[path = "num/uint_macros.rs"] -#[macro_use] -mod uint_macros; - -#[path = "num/isize.rs"] pub mod isize; -#[path = "num/i8.rs"] pub mod i8; -#[path = "num/i16.rs"] pub mod i16; -#[path = "num/i32.rs"] pub mod i32; -#[path = "num/i64.rs"] pub mod i64; - -#[path = "num/usize.rs"] pub mod usize; -#[path = "num/u8.rs"] pub mod u8; -#[path = "num/u16.rs"] pub mod u16; -#[path = "num/u32.rs"] pub mod u32; -#[path = "num/u64.rs"] pub mod u64; +// NB: slice and str are primitive types too, but their module docs + primitive +// doc pages are inlined from the public re-exports of core_collections::{slice, +// str} above. + +pub use core::isize; +pub use core::i8; +pub use core::i16; +pub use core::i32; +pub use core::i64; + +pub use core::usize; +pub use core::u8; +pub use core::u16; +pub use core::u32; +pub use core::u64; #[path = "num/f32.rs"] pub mod f32; #[path = "num/f64.rs"] pub mod f64; diff --git a/src/libstd/macros.rs b/src/libstd/macros.rs index eb378bf4080..53a14c2b21b 100644 --- a/src/libstd/macros.rs +++ b/src/libstd/macros.rs @@ -197,6 +197,15 @@ macro_rules! log { ) } +#[cfg(test)] +macro_rules! assert_approx_eq { + ($a:expr, $b:expr) => ({ + let (a, b) = (&$a, &$b); + assert!((*a - *b).abs() < 1.0e-6, + "{} is not approximately equal to {}", *a, *b); + }) +} + /// Built-in macros to the compiler itself. /// /// These macros do not have any corresponding definition with a `macro_rules!` diff --git a/src/libstd/num/float_macros.rs b/src/libstd/num/float_macros.rs deleted file mode 100644 index 16ad21a07d7..00000000000 --- a/src/libstd/num/float_macros.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![doc(hidden)] - -macro_rules! assert_approx_eq { - ($a:expr, $b:expr) => ({ - let (a, b) = (&$a, &$b); - assert!((*a - *b).abs() < 1.0e-6, - "{} is not approximately equal to {}", *a, *b); - }) -} diff --git a/src/libstd/num/i16.rs b/src/libstd/num/i16.rs deleted file mode 100644 index eb53e0821f2..00000000000 --- a/src/libstd/num/i16.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 16-bit signed integer type. -//! -//! *[See also the `i16` primitive type](../primitive.i16.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::i16::{BITS, BYTES, MIN, MAX}; - -int_module! { i16 } diff --git a/src/libstd/num/i32.rs b/src/libstd/num/i32.rs deleted file mode 100644 index 3c9eedf38c7..00000000000 --- a/src/libstd/num/i32.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 32-bit signed integer type. -//! -//! *[See also the `i32` primitive type](../primitive.i32.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::i32::{BITS, BYTES, MIN, MAX}; - -int_module! { i32 } diff --git a/src/libstd/num/i64.rs b/src/libstd/num/i64.rs deleted file mode 100644 index 2df7478a820..00000000000 --- a/src/libstd/num/i64.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 64-bit signed integer type. -//! -//! *[See also the `i64` primitive type](../primitive.i64.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::i64::{BITS, BYTES, MIN, MAX}; - -int_module! { i64 } diff --git a/src/libstd/num/i8.rs b/src/libstd/num/i8.rs deleted file mode 100644 index 4e4bee8a791..00000000000 --- a/src/libstd/num/i8.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 8-bit signed integer type. -//! -//! *[See also the `i8` primitive type](../primitive.i8.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::i8::{BITS, BYTES, MIN, MAX}; - -int_module! { i8 } diff --git a/src/libstd/num/int_macros.rs b/src/libstd/num/int_macros.rs deleted file mode 100644 index 178fad09f98..00000000000 --- a/src/libstd/num/int_macros.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![doc(hidden)] - -macro_rules! int_module { ($T:ty) => ( - -) } diff --git a/src/libstd/num/isize.rs b/src/libstd/num/isize.rs deleted file mode 100644 index d46b6b80d0d..00000000000 --- a/src/libstd/num/isize.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The pointer-sized signed integer type. -//! -//! *[See also the `isize` primitive type](../primitive.isize.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::isize::{BITS, BYTES, MIN, MAX}; - -int_module! { isize } diff --git a/src/libstd/num/u16.rs b/src/libstd/num/u16.rs deleted file mode 100644 index 893618aeffa..00000000000 --- a/src/libstd/num/u16.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 16-bit unsigned integer type. -//! -//! *[See also the `u16` primitive type](../primitive.u16.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::u16::{BITS, BYTES, MIN, MAX}; - -uint_module! { u16 } diff --git a/src/libstd/num/u32.rs b/src/libstd/num/u32.rs deleted file mode 100644 index 2da25519696..00000000000 --- a/src/libstd/num/u32.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 32-bit unsigned integer type. -//! -//! *[See also the `u32` primitive type](../primitive.u32.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::u32::{BITS, BYTES, MIN, MAX}; - -uint_module! { u32 } diff --git a/src/libstd/num/u64.rs b/src/libstd/num/u64.rs deleted file mode 100644 index 26a8b537394..00000000000 --- a/src/libstd/num/u64.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 64-bit unsigned integer type. -//! -//! *[See also the `u64` primitive type](../primitive.u64.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::u64::{BITS, BYTES, MIN, MAX}; - -uint_module! { u64 } diff --git a/src/libstd/num/u8.rs b/src/libstd/num/u8.rs deleted file mode 100644 index 385754b93a0..00000000000 --- a/src/libstd/num/u8.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The 8-bit unsigned integer type. -//! -//! *[See also the `u8` primitive type](../primitive.u8.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::u8::{BITS, BYTES, MIN, MAX}; - -uint_module! { u8 } diff --git a/src/libstd/num/uint_macros.rs b/src/libstd/num/uint_macros.rs deleted file mode 100644 index 902c78c0a46..00000000000 --- a/src/libstd/num/uint_macros.rs +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![doc(hidden)] - -macro_rules! uint_module { ($T:ident) => ( - -#[cfg(test)] -mod tests { - use prelude::v1::*; - - fn from_str<T: ::str::FromStr>(t: &str) -> Option<T> { - ::str::FromStr::from_str(t).ok() - } - - #[test] - pub fn test_from_str() { - assert_eq!(from_str::<$T>("0"), Some(0 as $T)); - assert_eq!(from_str::<$T>("3"), Some(3 as $T)); - assert_eq!(from_str::<$T>("10"), Some(10 as $T)); - assert_eq!(from_str::<u32>("123456789"), Some(123456789 as u32)); - assert_eq!(from_str::<$T>("00100"), Some(100 as $T)); - - assert_eq!(from_str::<$T>(""), None); - assert_eq!(from_str::<$T>(" "), None); - assert_eq!(from_str::<$T>("x"), None); - } - - #[test] - pub fn test_parse_bytes() { - assert_eq!($T::from_str_radix("123", 10), Ok(123 as $T)); - assert_eq!($T::from_str_radix("1001", 2), Ok(9 as $T)); - assert_eq!($T::from_str_radix("123", 8), Ok(83 as $T)); - assert_eq!(u16::from_str_radix("123", 16), Ok(291 as u16)); - assert_eq!(u16::from_str_radix("ffff", 16), Ok(65535 as u16)); - assert_eq!($T::from_str_radix("z", 36), Ok(35 as $T)); - - assert_eq!($T::from_str_radix("Z", 10).ok(), None::<$T>); - assert_eq!($T::from_str_radix("_", 2).ok(), None::<$T>); - } -} - -) } diff --git a/src/libstd/num/usize.rs b/src/libstd/num/usize.rs deleted file mode 100644 index 6960ba3b829..00000000000 --- a/src/libstd/num/usize.rs +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! The pointer-sized unsigned integer type. -//! -//! *[See also the `usize` primitive type](../primitive.usize.html).* - -#![stable(feature = "rust1", since = "1.0.0")] - -pub use core::usize::{BITS, BYTES, MIN, MAX}; - -uint_module! { usize } |
