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/librustc_unicode | |
| parent | ceded6adb3a4e172eabef09e1c78717a99c16b14 (diff) | |
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/librustc_unicode')
| -rw-r--r-- | src/librustc_unicode/lib.rs | 5 | ||||
| -rw-r--r-- | src/librustc_unicode/u_str.rs | 3 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/librustc_unicode/lib.rs b/src/librustc_unicode/lib.rs index b420444d1f5..3a69430d078 100644 --- a/src/librustc_unicode/lib.rs +++ b/src/librustc_unicode/lib.rs @@ -33,17 +33,16 @@ test(no_crate_inject))] #![no_std] -#![feature(core)] #![feature(core_char_ext)] -#![feature(core_prelude)] #![feature(core_slice_ext)] #![feature(core_str_ext)] #![feature(iter_arith)] #![feature(lang_items)] #![feature(no_std)] #![feature(staged_api)] +#![cfg_attr(stage0, feature(core, core_prelude))] -extern crate core; +#[cfg(stage0)] extern crate core; mod normalize; mod tables; diff --git a/src/librustc_unicode/u_str.rs b/src/librustc_unicode/u_str.rs index e329785d271..95214fe2db3 100644 --- a/src/librustc_unicode/u_str.rs +++ b/src/librustc_unicode/u_str.rs @@ -14,7 +14,8 @@ //! unicode parts of the CharExt trait. use self::GraphemeState::*; -use core::prelude::*; +#[cfg(stage0)] +use core::prelude::v1::*; use core::char; use core::cmp; |
