std: Remove the curious inner module

This isn't actually necessary any more with the advent of `$crate` and changes
in the compiler to expand macros to `::core::$foo` in the context of a
`#![no_std]` crate.

The libcore inner module was also trimmed down a bit to the bare bones.
This commit is contained in:
Alex Crichton
2015-07-29 14:14:01 -07:00
parent 523ee8d37c
commit 5af6cf9fa4
9 changed files with 48 additions and 63 deletions

View File

@@ -157,21 +157,23 @@ pub mod fmt;
// note: does not need to be public
mod tuple;
// A curious inner-module that's not exported that contains the bindings of core
// so that compiler-expanded references to `core::$foo` can be resolved within
// core itself.
//
// Note that no crate-defined macros require this module due to the existence of
// the `$crate` meta variable, only those expansions defined in the compiler
// require this. This is because the compiler doesn't currently know that it's
// compiling the core library when it's compiling this library, so it expands
// all references to `::core::$foo`
#[doc(hidden)]
mod core {
pub use intrinsics;
pub use panicking;
pub use fmt;
pub use clone;
pub use cmp;
pub use hash;
pub use marker;
pub use option;
pub use iter;
}
#[doc(hidden)]
mod std {
// range syntax
pub use ops;
pub use intrinsics; // derive(PartialOrd)
pub use fmt; // format_args!
pub use clone; // derive(Clone)
pub use cmp; // derive(Ord)
pub use hash; // derive(Hash)
pub use marker; // derive(Copy)
pub use option; // iterator protocol
pub use iter; // iterator protocol
}