diff options
| author | Keegan McAllister <kmcallister@mozilla.com> | 2014-09-15 19:29:47 -0700 |
|---|---|---|
| committer | Keegan McAllister <kmcallister@mozilla.com> | 2015-01-05 12:00:56 -0800 |
| commit | 73806ddd0fd91066d7b903a00a080cbadcc04311 (patch) | |
| tree | 04df4f385e3e01a3f278862f190026aa6daca966 /src/libstd/lib.rs | |
| parent | 1c2fddc6bf6332212fe899c2cb86ae7e645f6eba (diff) | |
| download | rust-73806ddd0fd91066d7b903a00a080cbadcc04311.tar.gz rust-73806ddd0fd91066d7b903a00a080cbadcc04311.zip | |
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.
Diffstat (limited to 'src/libstd/lib.rs')
| -rw-r--r-- | src/libstd/lib.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 608ad9882b9..eba90d39b4a 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -117,13 +117,18 @@ #![reexport_test_harness_main = "test_main"] +#![macro_reexport(assert, assert_eq, debug_assert, debug_assert_eq, + unreachable, unimplemented, write, writeln, vec)] + #[cfg(test)] #[phase(plugin, link)] extern crate log; -extern crate alloc; -extern crate unicode; +#[phase(plugin, link)] extern crate core; +#[phase(plugin, link)] extern crate "collections" as core_collections; extern crate "rand" as core_rand; +extern crate alloc; +extern crate unicode; extern crate libc; // Make std testable by not duplicating lang items. See #2912 @@ -167,7 +172,8 @@ pub use unicode::char; /* Exported macros */ -pub mod macros; +#[cfg(stage0)] pub mod macros_stage0; +#[cfg(not(stage0))] pub mod macros; pub mod bitflags; mod rtdeps; |
