Use $crate and macro reexport to reduce duplicated code

Many of libstd's macros are now re-exported from libcore and libcollections.
Their libstd definitions have moved to a macros_stage0 module and can disappear
after the next snapshot.

Where the two crates had already diverged, I took the libstd versions as
they're generally newer and better-tested. See e.g. d3c831b, which was a fix to
libstd's assert_eq!() that didn't make it into libcore's.

Fixes #16806.
This commit is contained in:
Keegan McAllister 2014-09-15 19:29:47 -07:00
parent 1c2fddc6bf
commit 73806ddd0f
13 changed files with 915 additions and 246 deletions

View file

@ -20,12 +20,15 @@ use mem;
use option::Option;
use option::Option::{Some, None};
use ops::{Deref, FnOnce};
use result::Result::{Ok, Err};
use result::Result::Ok;
use result;
use slice::SliceExt;
use slice;
use str::{self, StrExt, Utf8Error};
// NOTE: for old macros; remove after the next snapshot
#[cfg(stage0)] use result::Result::Err;
pub use self::num::radix;
pub use self::num::Radix;
pub use self::num::RadixFmt;