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

@ -18,11 +18,14 @@ use iter::ExactSizeIterator;
use ops::Drop;
use option::Option;
use option::Option::{Some, None};
use result::Result::{Ok, Err};
use result::Result::Ok;
use slice::{SliceExt};
use slice;
use vec::Vec;
// NOTE: for old macros; remove after the next snapshot
#[cfg(stage0)] use result::Result::Err;
/// Wraps a Reader and buffers input from it
///
/// It can be excessively inefficient to work directly with a `Reader`. For