From 5cccf3cd256420d9f32c265e83036dea1d5f94d8 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Wed, 29 Jul 2015 17:01:14 -0700 Subject: syntax: Implement #![no_core] 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 --- src/libstd/rt/args.rs | 6 ++++-- src/libstd/rt/backtrace.rs | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/libstd/rt') diff --git a/src/libstd/rt/args.rs b/src/libstd/rt/args.rs index 52697f00264..e77a2bbd0b9 100644 --- a/src/libstd/rt/args.rs +++ b/src/libstd/rt/args.rs @@ -19,7 +19,8 @@ //! //! FIXME #7756: Would be nice for this to not exist. -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use vec::Vec; /// One-time global initialization. @@ -140,7 +141,8 @@ mod imp { target_os = "ios", target_os = "windows"))] mod imp { - use core::prelude::*; + #[cfg(stage0)] + use core::prelude::v1::*; use vec::Vec; pub unsafe fn init(_argc: isize, _argv: *const *const u8) { diff --git a/src/libstd/rt/backtrace.rs b/src/libstd/rt/backtrace.rs index 2eadf36a6b4..18d93cba8bc 100644 --- a/src/libstd/rt/backtrace.rs +++ b/src/libstd/rt/backtrace.rs @@ -12,6 +12,7 @@ #![allow(non_camel_case_types)] +#[cfg(stage0)] use prelude::v1::*; use env; -- cgit 1.4.1-3-g733a5