summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-07-30 18:42:32 +0000
committerbors <bors@rust-lang.org>2015-07-30 18:42:32 +0000
commit6edc994021a6bb1922ef77f62841f01a7bdf235d (patch)
treeb2b212bf9cbd4b24849d7774cdb3f1d97d7d2420 /src/libcore
parent28869d45dd1d3ba04e17dec82408f9f3c548e776 (diff)
parent5af6cf9fa422cb492525e139752a57d2d89f42c7 (diff)
downloadrust-6edc994021a6bb1922ef77f62841f01a7bdf235d.tar.gz
rust-6edc994021a6bb1922ef77f62841f01a7bdf235d.zip
Auto merge of #27388 - alexcrichton:remove-curious-inner, r=brson
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.
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/lib.rs32
-rw-r--r--src/libcore/ptr.rs2
-rw-r--r--src/libcore/str/pattern.rs2
3 files changed, 19 insertions, 17 deletions
diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs
index ef2a33c37dd..47d630a3864 100644
--- a/src/libcore/lib.rs
+++ b/src/libcore/lib.rs
@@ -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
 }
diff --git a/src/libcore/ptr.rs b/src/libcore/ptr.rs
index 6fed89547d4..116c1dfaa3e 100644
--- a/src/libcore/ptr.rs
+++ b/src/libcore/ptr.rs
@@ -20,7 +20,7 @@ use mem;
 use clone::Clone;
 use intrinsics;
 use ops::Deref;
-use core::fmt;
+use fmt;
 use option::Option::{self, Some, None};
 use marker::{PhantomData, Send, Sized, Sync};
 use nonzero::NonZero;
diff --git a/src/libcore/str/pattern.rs b/src/libcore/str/pattern.rs
index 707f7fcf2ab..2b3fc39fc8b 100644
--- a/src/libcore/str/pattern.rs
+++ b/src/libcore/str/pattern.rs
@@ -17,7 +17,7 @@
             reason = "API not fully fleshed out and ready to be stabilized")]
 
 use prelude::*;
-use core::cmp;
+use cmp;
 use usize;
 
 // Pattern