diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-07-29 17:01:14 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-08-03 17:23:01 -0700 |
| commit | 5cccf3cd256420d9f32c265e83036dea1d5f94d8 (patch) | |
| tree | 22904c7bb3df0872afa227638aa5e1e4ccb99fbc /src/libstd/sys | |
| parent | ceded6adb3a4e172eabef09e1c78717a99c16b14 (diff) | |
| download | rust-5cccf3cd256420d9f32c265e83036dea1d5f94d8.tar.gz rust-5cccf3cd256420d9f32c265e83036dea1d5f94d8.zip | |
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
Diffstat (limited to 'src/libstd/sys')
30 files changed, 39 insertions, 8 deletions
diff --git a/src/libstd/sys/common/backtrace.rs b/src/libstd/sys/common/backtrace.rs index 00932712a07..17953d0af4e 100644 --- a/src/libstd/sys/common/backtrace.rs +++ b/src/libstd/sys/common/backtrace.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use io::prelude::*; diff --git a/src/libstd/sys/common/mod.rs b/src/libstd/sys/common/mod.rs index 69c54f98917..b205b6df4cb 100644 --- a/src/libstd/sys/common/mod.rs +++ b/src/libstd/sys/common/mod.rs @@ -10,6 +10,7 @@ #![allow(missing_docs)] +#[cfg(stage0)] use prelude::v1::*; pub mod backtrace; diff --git a/src/libstd/sys/common/poison.rs b/src/libstd/sys/common/poison.rs index 065b1d6c9ac..196fe37d456 100644 --- a/src/libstd/sys/common/poison.rs +++ b/src/libstd/sys/common/poison.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use cell::Cell; diff --git a/src/libstd/sys/common/thread_info.rs b/src/libstd/sys/common/thread_info.rs index bb47c946e49..fb4e0ec70e0 100644 --- a/src/libstd/sys/common/thread_info.rs +++ b/src/libstd/sys/common/thread_info.rs @@ -10,7 +10,8 @@ #![allow(dead_code)] // stack_guard isn't used right now on all platforms -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use cell::RefCell; use string::String; diff --git a/src/libstd/sys/common/thread_local.rs b/src/libstd/sys/common/thread_local.rs index 3b2cb00d8c4..2269a053874 100644 --- a/src/libstd/sys/common/thread_local.rs +++ b/src/libstd/sys/common/thread_local.rs @@ -58,6 +58,7 @@ #![unstable(feature = "thread_local_internals")] #![allow(dead_code)] // sys isn't exported yet +#[cfg(stage0)] use prelude::v1::*; use sync::atomic::{self, AtomicUsize, Ordering}; diff --git a/src/libstd/sys/common/wtf8.rs b/src/libstd/sys/common/wtf8.rs index 3d5d1f5e0eb..0a5f4563dea 100644 --- a/src/libstd/sys/common/wtf8.rs +++ b/src/libstd/sys/common/wtf8.rs @@ -25,7 +25,8 @@ // unix (it's mostly used on windows), so don't worry about dead code here. #![allow(dead_code)] -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use core::char::{encode_utf8_raw, encode_utf16_raw}; use core::str::next_code_point; diff --git a/src/libstd/sys/unix/backtrace.rs b/src/libstd/sys/unix/backtrace.rs index ed6421f3670..ae8bfb07aaf 100644 --- a/src/libstd/sys/unix/backtrace.rs +++ b/src/libstd/sys/unix/backtrace.rs @@ -83,6 +83,7 @@ /// to symbols. This is a bit of a hokey implementation as-is, but it works for /// all unix platforms we support right now, so it at least gets the job done. +#[cfg(stage0)] use prelude::v1::*; use io::prelude::*; diff --git a/src/libstd/sys/unix/condvar.rs b/src/libstd/sys/unix/condvar.rs index beecb445e8d..9dd8df7524d 100644 --- a/src/libstd/sys/unix/condvar.rs +++ b/src/libstd/sys/unix/condvar.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use cell::UnsafeCell; diff --git a/src/libstd/sys/unix/ext/fs.rs b/src/libstd/sys/unix/ext/fs.rs index 4ee790b0161..dca7f6e829f 100644 --- a/src/libstd/sys/unix/ext/fs.rs +++ b/src/libstd/sys/unix/ext/fs.rs @@ -12,6 +12,7 @@ #![stable(feature = "rust1", since = "1.0.0")] +#[cfg(stage0)] use prelude::v1::*; use fs::{self, Permissions, OpenOptions}; diff --git a/src/libstd/sys/unix/ext/process.rs b/src/libstd/sys/unix/ext/process.rs index 63adae17581..71f83e7404b 100644 --- a/src/libstd/sys/unix/ext/process.rs +++ b/src/libstd/sys/unix/ext/process.rs @@ -14,6 +14,7 @@ use os::unix::raw::{uid_t, gid_t}; use os::unix::io::{FromRawFd, RawFd, AsRawFd, IntoRawFd}; +#[cfg(stage0)] use prelude::v1::*; use process; use sys; diff --git a/src/libstd/sys/unix/fd.rs b/src/libstd/sys/unix/fd.rs index 026380027d2..bdbe120f79d 100644 --- a/src/libstd/sys/unix/fd.rs +++ b/src/libstd/sys/unix/fd.rs @@ -8,7 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use io; use libc::{self, c_int, size_t, c_void}; diff --git a/src/libstd/sys/unix/fs.rs b/src/libstd/sys/unix/fs.rs index 0c99a30f107..ddab24b133f 100644 --- a/src/libstd/sys/unix/fs.rs +++ b/src/libstd/sys/unix/fs.rs @@ -8,7 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use io::prelude::*; use os::unix::prelude::*; diff --git a/src/libstd/sys/unix/mod.rs b/src/libstd/sys/unix/mod.rs index 6fd20b940bb..85dc8752443 100644 --- a/src/libstd/sys/unix/mod.rs +++ b/src/libstd/sys/unix/mod.rs @@ -11,6 +11,7 @@ #![allow(missing_docs)] #![allow(non_camel_case_types)] +#[cfg(stage0)] use prelude::v1::*; use io::{self, ErrorKind}; diff --git a/src/libstd/sys/unix/mutex.rs b/src/libstd/sys/unix/mutex.rs index 6eed403dfc0..a6132b37a66 100644 --- a/src/libstd/sys/unix/mutex.rs +++ b/src/libstd/sys/unix/mutex.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use cell::UnsafeCell; diff --git a/src/libstd/sys/unix/os_str.rs b/src/libstd/sys/unix/os_str.rs index 69d876a48a4..e21d88676e7 100644 --- a/src/libstd/sys/unix/os_str.rs +++ b/src/libstd/sys/unix/os_str.rs @@ -11,7 +11,8 @@ /// The underlying OsString/OsStr implementation on Unix systems: just /// a `Vec<u8>`/`[u8]`. -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use borrow::Cow; use fmt::{self, Debug}; diff --git a/src/libstd/sys/unix/pipe.rs b/src/libstd/sys/unix/pipe.rs index 140f0c042ba..2abd74bea1b 100644 --- a/src/libstd/sys/unix/pipe.rs +++ b/src/libstd/sys/unix/pipe.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use sys::fd::FileDesc; diff --git a/src/libstd/sys/unix/rwlock.rs b/src/libstd/sys/unix/rwlock.rs index ee687f350f0..50b4907e6ca 100644 --- a/src/libstd/sys/unix/rwlock.rs +++ b/src/libstd/sys/unix/rwlock.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use libc; diff --git a/src/libstd/sys/unix/stack_overflow.rs b/src/libstd/sys/unix/stack_overflow.rs index 62689c39255..ed4e50735a6 100644 --- a/src/libstd/sys/unix/stack_overflow.rs +++ b/src/libstd/sys/unix/stack_overflow.rs @@ -8,8 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] +use core::prelude::v1::*; + use libc; -use core::prelude::*; use self::imp::{make_handler, drop_handler}; pub use self::imp::{init, cleanup}; diff --git a/src/libstd/sys/unix/stdio.rs b/src/libstd/sys/unix/stdio.rs index fce52f8f92b..8542c660c26 100644 --- a/src/libstd/sys/unix/stdio.rs +++ b/src/libstd/sys/unix/stdio.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use io; diff --git a/src/libstd/sys/unix/thread_local.rs b/src/libstd/sys/unix/thread_local.rs index 7238adfcc56..5626446b31c 100644 --- a/src/libstd/sys/unix/thread_local.rs +++ b/src/libstd/sys/unix/thread_local.rs @@ -10,6 +10,7 @@ #![allow(dead_code)] // sys isn't exported yet +#[cfg(stage0)] use prelude::v1::*; use libc::c_int; diff --git a/src/libstd/sys/windows/backtrace.rs b/src/libstd/sys/windows/backtrace.rs index 3f595762fc7..d84513c5f95 100644 --- a/src/libstd/sys/windows/backtrace.rs +++ b/src/libstd/sys/windows/backtrace.rs @@ -24,6 +24,7 @@ #![allow(dead_code)] +#[cfg(stage0)] use prelude::v1::*; use io::prelude::*; diff --git a/src/libstd/sys/windows/condvar.rs b/src/libstd/sys/windows/condvar.rs index 04d62200e9b..f3edcfd420c 100644 --- a/src/libstd/sys/windows/condvar.rs +++ b/src/libstd/sys/windows/condvar.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use cell::UnsafeCell; diff --git a/src/libstd/sys/windows/ext/fs.rs b/src/libstd/sys/windows/ext/fs.rs index f629e983ce5..e15d1f0ec15 100644 --- a/src/libstd/sys/windows/ext/fs.rs +++ b/src/libstd/sys/windows/ext/fs.rs @@ -12,6 +12,7 @@ #![stable(feature = "rust1", since = "1.0.0")] +#[cfg(stage0)] use prelude::v1::*; use fs::{OpenOptions, Metadata}; diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs index 4ce6d53cf12..8d81d6576ff 100644 --- a/src/libstd/sys/windows/fs.rs +++ b/src/libstd/sys/windows/fs.rs @@ -8,7 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use io::prelude::*; use os::windows::prelude::*; diff --git a/src/libstd/sys/windows/handle.rs b/src/libstd/sys/windows/handle.rs index a566c5eff32..91fe131c251 100644 --- a/src/libstd/sys/windows/handle.rs +++ b/src/libstd/sys/windows/handle.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use io::ErrorKind; diff --git a/src/libstd/sys/windows/net.rs b/src/libstd/sys/windows/net.rs index d58355ed1fe..f2aca8d1a6e 100644 --- a/src/libstd/sys/windows/net.rs +++ b/src/libstd/sys/windows/net.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use io; diff --git a/src/libstd/sys/windows/pipe.rs b/src/libstd/sys/windows/pipe.rs index a7ece66e0f1..4044c429d49 100644 --- a/src/libstd/sys/windows/pipe.rs +++ b/src/libstd/sys/windows/pipe.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use io; diff --git a/src/libstd/sys/windows/rwlock.rs b/src/libstd/sys/windows/rwlock.rs index 25865286db0..010ffe76fba 100644 --- a/src/libstd/sys/windows/rwlock.rs +++ b/src/libstd/sys/windows/rwlock.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use cell::UnsafeCell; diff --git a/src/libstd/sys/windows/stack_overflow.rs b/src/libstd/sys/windows/stack_overflow.rs index 491b53c4ed9..bc8ee6619f1 100644 --- a/src/libstd/sys/windows/stack_overflow.rs +++ b/src/libstd/sys/windows/stack_overflow.rs @@ -8,7 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use libc::types::os::arch::extra::{LPVOID, DWORD, LONG}; use libc; diff --git a/src/libstd/sys/windows/thread.rs b/src/libstd/sys/windows/thread.rs index 42805c2ac52..a4131d4cada 100644 --- a/src/libstd/sys/windows/thread.rs +++ b/src/libstd/sys/windows/thread.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#[cfg(stage0)] use prelude::v1::*; use alloc::boxed::FnBox; |
