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
This commit is contained in:
parent
ceded6adb3
commit
5cccf3cd25
157 changed files with 478 additions and 385 deletions
|
@ -98,7 +98,8 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
use core::prelude::*;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use ascii::*;
|
||||
use borrow::{Borrow, IntoCow, ToOwned, Cow};
|
||||
|
@ -134,7 +135,8 @@ use self::platform::{is_sep_byte, is_verbatim_sep, MAIN_SEP_STR, parse_prefix};
|
|||
#[cfg(unix)]
|
||||
mod platform {
|
||||
use super::Prefix;
|
||||
use core::prelude::*;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use ffi::OsStr;
|
||||
|
||||
#[inline]
|
||||
|
@ -157,7 +159,8 @@ mod platform {
|
|||
|
||||
#[cfg(windows)]
|
||||
mod platform {
|
||||
use core::prelude::*;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use ascii::*;
|
||||
|
||||
use super::{os_str_as_u8_slice, u8_slice_as_os_str, Prefix};
|
||||
|
@ -1747,7 +1750,8 @@ impl AsRef<Path> for PathBuf {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use core::prelude::*;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use string::{ToString, String};
|
||||
use vec::Vec;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue