about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-08-05 02:00:46 +0000
committerbors <bors@rust-lang.org>2015-08-05 02:00:46 +0000
commitdbe415a4a7c3e10eff6d9a4b08128c341742e401 (patch)
treee1d3a1eac26b8adba127155b7c7d607dafe1908d /src/liballoc
parentefdbc0ec7e9bd8d2dadbe78b003fd7facf2a7aae (diff)
parent0d8340327c03f319b49cb91e2e64aa66dd1e76c7 (diff)
downloadrust-dbe415a4a7c3e10eff6d9a4b08128c341742e401.tar.gz
rust-dbe415a4a7c3e10eff6d9a4b08128c341742e401.zip
Auto merge of #27393 - alexcrichton:no-std-changes, r=brson
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
`#![no_std]` attribute now injects `extern crate core` at the top of the crate
as well as the libcore prelude into all modules (in the same manner as the
standard library's prelude). The `#![no_core]` attribute disables both std and
core injection.

[rfc]: https://github.com/rust-lang/rfcs/pull/1184

Closes #27394
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/arc.rs3
-rw-r--r--src/liballoc/boxed.rs3
-rw-r--r--src/liballoc/lib.rs7
-rw-r--r--src/liballoc/rc.rs3
4 files changed, 9 insertions, 7 deletions
diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs
index 46b6a5722ea..1e592397014 100644
--- a/src/liballoc/arc.rs
+++ b/src/liballoc/arc.rs
@@ -71,7 +71,8 @@
 
 use boxed::Box;
 
-use core::prelude::*;
+#[cfg(stage0)]
+use core::prelude::v1::*;
 
 use core::atomic;
 use core::atomic::Ordering::{Relaxed, Release, Acquire, SeqCst};
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs
index 9420a88bade..ab1a5ba9019 100644
--- a/src/liballoc/boxed.rs
+++ b/src/liballoc/boxed.rs
@@ -53,7 +53,8 @@
 
 #![stable(feature = "rust1", since = "1.0.0")]
 
-use core::prelude::*;
+#[cfg(stage0)]
+use core::prelude::v1::*;
 
 use heap;
 use raw_vec::RawVec;
diff --git a/src/liballoc/lib.rs b/src/liballoc/lib.rs
index 0e9b01e5c23..6d251cae41d 100644
--- a/src/liballoc/lib.rs
+++ b/src/liballoc/lib.rs
@@ -75,7 +75,6 @@
 #![feature(coerce_unsized)]
 #![feature(core)]
 #![feature(core_intrinsics)]
-#![feature(core_prelude)]
 #![feature(core_slice_ext)]
 #![feature(custom_attribute)]
 #![feature(fundamental)]
@@ -93,17 +92,17 @@
 #![feature(unsize)]
 #![feature(core_slice_ext)]
 #![feature(core_str_ext)]
+#![cfg_attr(stage0, feature(core, core_prelude))]
 
 #![cfg_attr(test, feature(test, alloc, rustc_private, box_raw))]
 #![cfg_attr(all(not(feature = "external_funcs"), not(feature = "external_crate")),
             feature(libc))]
 
-#[macro_use]
-extern crate core;
-
 #[cfg(all(not(feature = "external_funcs"), not(feature = "external_crate")))]
 extern crate libc;
 
+#[cfg(stage0)] #[macro_use] extern crate core;
+
 // Allow testing this library
 
 #[cfg(test)] #[macro_use] extern crate std;
diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs
index e4e3b3b209c..05fd36e8e7f 100644
--- a/src/liballoc/rc.rs
+++ b/src/liballoc/rc.rs
@@ -150,7 +150,8 @@
 
 #![stable(feature = "rust1", since = "1.0.0")]
 
-use core::prelude::*;
+#[cfg(stage0)]
+use core::prelude::v1::*;
 
 #[cfg(not(test))]
 use boxed::Box;