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/thread/local.rs | 2 ++ src/libstd/thread/scoped_tls.rs | 3 +++ 2 files changed, 5 insertions(+) (limited to 'src/libstd/thread') diff --git a/src/libstd/thread/local.rs b/src/libstd/thread/local.rs index 9a6d68acb9f..a6ecd2d88d2 100644 --- a/src/libstd/thread/local.rs +++ b/src/libstd/thread/local.rs @@ -12,6 +12,7 @@ #![unstable(feature = "thread_local_internals")] +#[cfg(stage0)] use prelude::v1::*; use cell::UnsafeCell; @@ -271,6 +272,7 @@ impl LocalKey { not(no_elf_tls)))] #[doc(hidden)] mod imp { + #[cfg(stage0)] use prelude::v1::*; use cell::{Cell, UnsafeCell}; diff --git a/src/libstd/thread/scoped_tls.rs b/src/libstd/thread/scoped_tls.rs index cf2c5db8277..1ea33a01791 100644 --- a/src/libstd/thread/scoped_tls.rs +++ b/src/libstd/thread/scoped_tls.rs @@ -42,6 +42,7 @@ #![unstable(feature = "thread_local_internals")] +#[cfg(stage0)] use prelude::v1::*; #[doc(hidden)] @@ -249,6 +250,7 @@ mod imp { no_elf_tls))] #[doc(hidden)] mod imp { + #[cfg(stage0)] use prelude::v1::*; use cell::Cell; @@ -278,6 +280,7 @@ mod imp { #[cfg(test)] mod tests { use cell::Cell; + #[cfg(stage0)] use prelude::v1::*; scoped_thread_local!(static FOO: u32); -- cgit 1.4.1-3-g733a5