rollup merge of #27678: alexcrichton/snapshots
* Lots of core prelude imports removed * Makefile support for MSVC env vars and Rust crates removed * Makefile support for morestack removed
This commit is contained in:
commit
837ae4f3d4
95 changed files with 25 additions and 483 deletions
|
@ -22,8 +22,3 @@ CFG_LDPATH_i686-pc-windows-msvc :=
|
|||
CFG_RUN_i686-pc-windows-msvc=$(2)
|
||||
CFG_RUN_TARG_i686-pc-windows-msvc=$(call CFG_RUN_i686-pc-windows-msvc,,$(2))
|
||||
CFG_GNU_TRIPLE_i686-pc-windows-msvc := i686-pc-win32
|
||||
|
||||
# All windows nightiles are currently a GNU triple, so this MSVC triple is not
|
||||
# bootstrapping from itself. This is relevant during stage0, and other parts of
|
||||
# the build system take this into account.
|
||||
BOOTSTRAP_FROM_i686-pc-windows-msvc := i686-pc-windows-gnu
|
||||
|
|
|
@ -22,8 +22,3 @@ CFG_LDPATH_x86_64-pc-windows-msvc :=
|
|||
CFG_RUN_x86_64-pc-windows-msvc=$(2)
|
||||
CFG_RUN_TARG_x86_64-pc-windows-msvc=$(call CFG_RUN_x86_64-pc-windows-msvc,,$(2))
|
||||
CFG_GNU_TRIPLE_x86_64-pc-windows-msvc := x86_64-pc-win32
|
||||
|
||||
# All windows nightiles are currently a GNU triple, so this MSVC triple is not
|
||||
# bootstrapping from itself. This is relevant during stage0, and other parts of
|
||||
# the build system take this into account.
|
||||
BOOTSTRAP_FROM_x86_64-pc-windows-msvc := x86_64-pc-windows-gnu
|
||||
|
|
|
@ -400,11 +400,6 @@ TSREQ$(1)_T_$(2)_H_$(3) = \
|
|||
$$(foreach obj,$$(INSTALLED_OBJECTS_$(2)),\
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(obj))
|
||||
|
||||
ifeq ($(1),0)
|
||||
TSREQ$(1)_T_$(2)_H_$(3) += \
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(call CFG_STATIC_LIB_NAME_$(2),morestack)
|
||||
endif
|
||||
|
||||
# Prerequisites for a working stageN compiler and libraries, for a specific
|
||||
# target
|
||||
SREQ$(1)_T_$(2)_H_$(3) = \
|
||||
|
|
|
@ -237,64 +237,3 @@ endef
|
|||
|
||||
$(foreach target,$(CFG_TARGET), \
|
||||
$(eval $(call CFG_MAKE_TOOLCHAIN,$(target))))
|
||||
|
||||
# There are more comments about this available in the target specification for
|
||||
# Windows MSVC in the compiler, but the gist of it is that we use `llvm-ar.exe`
|
||||
# instead of `lib.exe` for assembling archives, so we need to inject this custom
|
||||
# dependency here.
|
||||
#
|
||||
# FIXME(stage0): remove this and all other relevant support in the makefiles
|
||||
# after a snapshot is made
|
||||
define ADD_LLVM_AR_TO_MSVC_DEPS
|
||||
ifeq ($$(findstring msvc,$(1)),msvc)
|
||||
NATIVE_TOOL_DEPS_core_T_$(1) += llvm-ar.exe
|
||||
INSTALLED_BINS_$(1) += llvm-ar.exe
|
||||
endif
|
||||
endef
|
||||
|
||||
$(foreach target,$(CFG_TARGET), \
|
||||
$(eval $(call ADD_LLVM_AR_TO_MSVC_DEPS,$(target))))
|
||||
|
||||
# When working with MSVC on windows, each DLL needs to explicitly declare its
|
||||
# interface to the outside world through some means. The options for doing so
|
||||
# include:
|
||||
#
|
||||
# 1. A custom attribute on each function itself
|
||||
# 2. A linker argument saying what to export
|
||||
# 3. A file which lists all symbols that need to be exported
|
||||
#
|
||||
# The Rust compiler takes care (1) for us for all Rust code by annotating all
|
||||
# public-facing functions with dllexport, but we have a few native dependencies
|
||||
# which need to cross the DLL boundary. The most important of these dependencies
|
||||
# is LLVM which is linked into `rustc_llvm.dll` but primarily used from
|
||||
# `rustc_trans.dll`. This means that many of LLVM's C API functions need to be
|
||||
# exposed from `rustc_llvm.dll` to be forwarded over the boundary.
|
||||
#
|
||||
# Unfortunately, at this time, LLVM does not handle this sort of exportation on
|
||||
# Windows for us, so we're forced to do it ourselves if we want it (which seems
|
||||
# like the path of least resistance right now). To do this we generate a `.DEF`
|
||||
# file [1] which we then custom-pass to the linker when building the rustc_llvm
|
||||
# crate. This DEF file list all symbols that are exported from
|
||||
# `src/librustc_llvm/lib.rs` and is generated by a small python script.
|
||||
#
|
||||
# Fun times!
|
||||
#
|
||||
# [1]: https://msdn.microsoft.com/en-us/library/28d6s79h.aspx
|
||||
#
|
||||
# FIXME(stage0): remove this macro and the usage below (and the commments above)
|
||||
# when a new snapshot is available. Also remove the
|
||||
# RUSTFLAGS$(1)_.._T_ variable in mk/target.mk along with
|
||||
# CUSTOM_DEPS (as they were only added for this)
|
||||
define ADD_RUSTC_LLVM_DEF_TO_MSVC
|
||||
ifeq ($$(findstring msvc,$(1)),msvc)
|
||||
RUSTFLAGS0_rustc_llvm_T_$(1) += -C link-args="-DEF:$(1)/rt/rustc_llvm.def"
|
||||
CUSTOM_DEPS0_rustc_llvm_T_$(1) += $(1)/rt/rustc_llvm.def
|
||||
|
||||
$(1)/rt/rustc_llvm.def: $$(S)src/etc/mklldef.py $$(S)src/librustc_llvm/lib.rs
|
||||
$$(CFG_PYTHON) $$^ $$@ rustc_llvm-$$(CFG_FILENAME_EXTRA)
|
||||
endif
|
||||
endef
|
||||
|
||||
$(foreach target,$(CFG_TARGET), \
|
||||
$(eval $(call ADD_RUSTC_LLVM_DEF_TO_MSVC,$(target))))
|
||||
|
||||
|
|
4
mk/rt.mk
4
mk/rt.mk
|
@ -35,8 +35,7 @@
|
|||
# that's per-target so you're allowed to conditionally add files based on the
|
||||
# target.
|
||||
################################################################################
|
||||
NATIVE_LIBS := rust_builtin hoedown miniz \
|
||||
rust_test_helpers morestack
|
||||
NATIVE_LIBS := rust_builtin hoedown miniz rust_test_helpers
|
||||
|
||||
# $(1) is the target triple
|
||||
define NATIVE_LIBRARIES
|
||||
|
@ -54,7 +53,6 @@ NATIVE_DEPS_miniz_$(1) = miniz.c
|
|||
NATIVE_DEPS_rust_builtin_$(1) := rust_builtin.c \
|
||||
rust_android_dummy.c
|
||||
NATIVE_DEPS_rust_test_helpers_$(1) := rust_test_helpers.c
|
||||
NATIVE_DEPS_morestack_$(1) := empty.c
|
||||
|
||||
################################################################################
|
||||
# You shouldn't find it that necessary to edit anything below this line.
|
||||
|
|
93
mk/target.mk
93
mk/target.mk
|
@ -37,10 +37,7 @@ CRATE_FULLDEPS_$(1)_T_$(2)_H_$(3)_$(4) := \
|
|||
$$(foreach dep,$$(NATIVE_DEPS_$(4)), \
|
||||
$$(RT_OUTPUT_DIR_$(2))/$$(call CFG_STATIC_LIB_NAME_$(2),$$(dep))) \
|
||||
$$(foreach dep,$$(NATIVE_DEPS_$(4)_T_$(2)), \
|
||||
$$(RT_OUTPUT_DIR_$(2))/$$(dep)) \
|
||||
$$(foreach dep,$$(NATIVE_TOOL_DEPS_$(4)_T_$(2)), \
|
||||
$$(TBIN$(1)_T_$(3)_H_$(3))/$$(dep)) \
|
||||
$$(CUSTOM_DEPS$(1)_$(4)_T_$(2))
|
||||
$$(RT_OUTPUT_DIR_$(2))/$$(dep))
|
||||
endef
|
||||
|
||||
$(foreach host,$(CFG_HOST), \
|
||||
|
@ -142,9 +139,6 @@ SNAPSHOT_RUSTC_POST_CLEANUP=$(HBIN0_H_$(CFG_BUILD))/rustc$(X_$(CFG_BUILD))
|
|||
|
||||
define TARGET_HOST_RULES
|
||||
|
||||
$$(TBIN$(1)_T_$(2)_H_$(3))/:
|
||||
mkdir -p $$@
|
||||
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/:
|
||||
mkdir -p $$@
|
||||
|
||||
|
@ -152,11 +146,6 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/%: $$(RT_OUTPUT_DIR_$(2))/% \
|
|||
| $$(TLIB$(1)_T_$(2)_H_$(3))/ $$(SNAPSHOT_RUSTC_POST_CLEANUP)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
|
||||
$$(TBIN$(1)_T_$(2)_H_$(3))/%: $$(CFG_LLVM_INST_DIR_$(2))/bin/% \
|
||||
| $$(TBIN$(1)_T_$(2)_H_$(3))/ $$(SNAPSHOT_RUSTC_POST_CLEANUP)
|
||||
@$$(call E, cp: $$@)
|
||||
$$(Q)cp $$< $$@
|
||||
endef
|
||||
|
||||
$(foreach source,$(CFG_HOST), \
|
||||
|
@ -180,83 +169,3 @@ $(foreach host,$(CFG_HOST), \
|
|||
$(foreach stage,$(STAGES), \
|
||||
$(foreach tool,$(TOOLS), \
|
||||
$(eval $(call TARGET_TOOL,$(stage),$(target),$(host),$(tool)))))))
|
||||
|
||||
# We have some triples which are bootstrapped from other triples, and this means
|
||||
# that we need to fixup some of the native tools that a triple depends on.
|
||||
#
|
||||
# For example, MSVC requires the llvm-ar.exe executable to manage archives, but
|
||||
# it bootstraps from the GNU Windows triple. This means that the compiler will
|
||||
# add this directory to PATH when executing new processes:
|
||||
#
|
||||
# $SYSROOT/rustlib/x86_64-pc-windows-gnu/bin
|
||||
#
|
||||
# Unfortunately, however, the GNU triple is not known about in stage0, so the
|
||||
# tools are actually located in:
|
||||
#
|
||||
# $SYSROOT/rustlib/x86_64-pc-windows-msvc/bin
|
||||
#
|
||||
# To remedy this problem, the rules below copy all native tool dependencies into
|
||||
# the bootstrap triple's location in stage 0 so the bootstrap compiler can find
|
||||
# the right sets of tools. Later stages (1+) will have the right host triple for
|
||||
# the compiler, so there's no need to worry there.
|
||||
#
|
||||
# $(1) - stage
|
||||
# $(2) - triple that's being used as host/target
|
||||
# $(3) - triple snapshot is built for
|
||||
# $(4) - crate
|
||||
# $(5) - tool
|
||||
#
|
||||
# FIXME(stage0): remove this and all other relevant support in the makefiles
|
||||
# after a snapshot is made
|
||||
define MOVE_TOOLS_TO_SNAPSHOT_HOST_DIR
|
||||
ifneq (,$(3))
|
||||
$$(TLIB$(1)_T_$(2)_H_$(2))/stamp.$(4): $$(HLIB$(1)_H_$(2))/rustlib/$(3)/bin/$(5)
|
||||
|
||||
$$(HLIB$(1)_H_$(2))/rustlib/$(3)/bin/$(5): $$(TBIN$(1)_T_$(2)_H_$(2))/$(5)
|
||||
mkdir -p $$(@D)
|
||||
cp $$< $$@
|
||||
endif
|
||||
endef
|
||||
|
||||
$(foreach target,$(CFG_TARGET), \
|
||||
$(foreach crate,$(CRATES), \
|
||||
$(foreach tool,$(NATIVE_TOOL_DEPS_$(crate)_T_$(target)), \
|
||||
$(eval $(call MOVE_TOOLS_TO_SNAPSHOT_HOST_DIR,0,$(target),$(BOOTSTRAP_FROM_$(target)),$(crate),$(tool))))))
|
||||
|
||||
# For MSVC targets we need to set up some environment variables for the linker
|
||||
# to work correctly when building Rust crates. These two variables are:
|
||||
#
|
||||
# - LIB tells the linker the default search path for finding system libraries,
|
||||
# for example kernel32.dll
|
||||
# - PATH needs to be modified to ensure that MSVC's link.exe is first in the
|
||||
# path instead of MinGW's /usr/bin/link.exe (entirely unrelated)
|
||||
#
|
||||
# The values for these variables are detected by the configure script.
|
||||
#
|
||||
# FIXME(stage0): remove this and all other relevant support in the makefiles
|
||||
# after a snapshot is made
|
||||
define SETUP_LIB_MSVC_ENV_VARS
|
||||
ifeq ($$(findstring msvc,$(2)),msvc)
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$(4): \
|
||||
export LIB := $$(CFG_MSVC_LIB_PATH_$$(HOST_$(2)))
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$(4): \
|
||||
export PATH := $$(CFG_MSVC_BINDIR_$$(HOST_$(2))):$$(PATH)
|
||||
endif
|
||||
endef
|
||||
define SETUP_TOOL_MSVC_ENV_VARS
|
||||
ifeq ($$(findstring msvc,$(2)),msvc)
|
||||
$$(TBIN$(1)_T_$(2)_H_$(3))/$(4)$$(X_$(2)): \
|
||||
export LIB := $$(CFG_MSVC_LIB_PATH_$$(HOST_$(2)))
|
||||
$$(TBIN$(1)_T_$(2)_H_$(3))/$(4)$$(X_$(2)): \
|
||||
export PATH := $$(CFG_MSVC_BINDIR_$$(HOST_$(2))):$$(PATH)
|
||||
endif
|
||||
endef
|
||||
|
||||
$(foreach host,$(CFG_HOST), \
|
||||
$(foreach target,$(CFG_TARGET), \
|
||||
$(foreach crate,$(CRATES), \
|
||||
$(eval $(call SETUP_LIB_MSVC_ENV_VARS,0,$(target),$(host),$(crate))))))
|
||||
$(foreach host,$(CFG_HOST), \
|
||||
$(foreach target,$(CFG_TARGET), \
|
||||
$(foreach tool,$(TOOLS), \
|
||||
$(eval $(call SETUP_TOOL_MSVC_ENV_VARS,0,$(target),$(host),$(tool))))))
|
||||
|
|
|
@ -71,9 +71,6 @@
|
|||
|
||||
use boxed::Box;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::atomic;
|
||||
use core::atomic::Ordering::{Relaxed, Release, Acquire, SeqCst};
|
||||
use core::fmt;
|
||||
|
|
|
@ -53,9 +53,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use heap;
|
||||
use raw_vec::RawVec;
|
||||
|
||||
|
|
|
@ -92,7 +92,6 @@
|
|||
#![feature(unsize)]
|
||||
#![feature(core_slice_ext)]
|
||||
#![feature(core_str_ext)]
|
||||
#![cfg_attr(stage0, feature(core, core_prelude))]
|
||||
|
||||
#![cfg_attr(test, feature(test, alloc, rustc_private, box_raw))]
|
||||
#![cfg_attr(all(not(feature = "external_funcs"), not(feature = "external_crate")),
|
||||
|
@ -101,8 +100,6 @@
|
|||
#[cfg(all(not(feature = "external_funcs"), not(feature = "external_crate")))]
|
||||
extern crate libc;
|
||||
|
||||
#[cfg(stage0)] #[macro_use] extern crate core;
|
||||
|
||||
// Allow testing this library
|
||||
|
||||
#[cfg(test)] #[macro_use] extern crate std;
|
||||
|
|
|
@ -150,9 +150,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
#[cfg(not(test))]
|
||||
use boxed::Box;
|
||||
#[cfg(test)]
|
||||
|
|
|
@ -151,9 +151,6 @@
|
|||
#![allow(missing_docs)]
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::iter::{FromIterator};
|
||||
use core::mem::swap;
|
||||
use core::ptr;
|
||||
|
|
|
@ -86,9 +86,6 @@
|
|||
//! println!("There are {} primes below {}", num_primes, max_prime);
|
||||
//! ```
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp::Ordering;
|
||||
use core::cmp;
|
||||
use core::fmt;
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
|
||||
use self::Entry::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp::Ordering;
|
||||
use core::fmt::Debug;
|
||||
use core::hash::{Hash, Hasher};
|
||||
|
@ -531,8 +528,6 @@ enum Continuation<A, B> {
|
|||
/// to nodes. By using this module much better safety guarantees can be made, and more search
|
||||
/// boilerplate gets cut out.
|
||||
mod stack {
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use core::marker;
|
||||
use core::mem;
|
||||
use core::ops::{Deref, DerefMut};
|
||||
|
|
|
@ -16,9 +16,6 @@ pub use self::SearchResult::*;
|
|||
pub use self::ForceResult::*;
|
||||
pub use self::TraversalItem::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp::Ordering::{Greater, Less, Equal};
|
||||
use core::intrinsics::arith_offset;
|
||||
use core::iter::Zip;
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
// This is pretty much entirely stolen from TreeSet, since BTreeMap has an identical interface
|
||||
// to TreeMap
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp::Ordering::{self, Less, Greater, Equal};
|
||||
use core::fmt::Debug;
|
||||
use core::fmt;
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
reason = "matches collection reform specification, \
|
||||
waiting for dust to settle")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::marker;
|
||||
use core::fmt;
|
||||
use core::iter::{FromIterator};
|
||||
|
|
|
@ -59,13 +59,10 @@
|
|||
#![feature(utf8_error)]
|
||||
#![cfg_attr(test, feature(rand, test))]
|
||||
#![cfg_attr(not(test), feature(str_words))]
|
||||
#![cfg_attr(stage0, feature(core, core_prelude))]
|
||||
|
||||
#![feature(no_std)]
|
||||
#![no_std]
|
||||
|
||||
#[cfg(stage0)] #[macro_use] extern crate core;
|
||||
|
||||
extern crate rustc_unicode;
|
||||
extern crate alloc;
|
||||
|
||||
|
|
|
@ -21,9 +21,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use alloc::boxed::Box;
|
||||
use core::cmp::Ordering;
|
||||
use core::fmt;
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::fmt;
|
||||
use core::hash;
|
||||
use core::iter::FromIterator;
|
||||
|
|
|
@ -58,9 +58,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use alloc::raw_vec::RawVec;
|
||||
use alloc::boxed::Box;
|
||||
use alloc::heap::EMPTY;
|
||||
|
|
|
@ -18,9 +18,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp::Ordering;
|
||||
use core::fmt;
|
||||
use core::iter::{self, repeat, FromIterator, RandomAccessIterator};
|
||||
|
|
|
@ -20,9 +20,6 @@
|
|||
|
||||
use self::Entry::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp::{max, Ordering};
|
||||
use core::fmt;
|
||||
use core::hash::{Hash, Hasher};
|
||||
|
|
|
@ -60,28 +60,26 @@
|
|||
html_playground_url = "https://play.rust-lang.org/")]
|
||||
#![doc(test(no_crate_inject))]
|
||||
|
||||
#![cfg_attr(stage0, feature(no_std))]
|
||||
#![cfg_attr(stage0, no_std)]
|
||||
#![cfg_attr(not(stage0), feature(no_core))]
|
||||
#![cfg_attr(not(stage0), no_core)]
|
||||
#![no_core]
|
||||
#![allow(raw_pointer_derive)]
|
||||
#![deny(missing_docs)]
|
||||
|
||||
#![feature(allow_internal_unstable)]
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(concat_idents)]
|
||||
#![feature(const_fn)]
|
||||
#![feature(custom_attribute)]
|
||||
#![feature(fundamental)]
|
||||
#![feature(intrinsics)]
|
||||
#![feature(lang_items)]
|
||||
#![feature(no_core)]
|
||||
#![feature(on_unimplemented)]
|
||||
#![feature(optin_builtin_traits)]
|
||||
#![feature(reflect)]
|
||||
#![feature(rustc_attrs)]
|
||||
#![feature(simd)]
|
||||
#![feature(staged_api)]
|
||||
#![feature(unboxed_closures)]
|
||||
#![feature(rustc_attrs)]
|
||||
#![feature(optin_builtin_traits)]
|
||||
#![feature(fundamental)]
|
||||
#![feature(concat_idents)]
|
||||
#![feature(reflect)]
|
||||
#![feature(custom_attribute)]
|
||||
#![feature(const_fn)]
|
||||
#![feature(allow_internal_unstable)]
|
||||
|
||||
#[macro_use]
|
||||
mod macros;
|
||||
|
@ -159,25 +157,3 @@ pub mod fmt;
|
|||
|
||||
// note: does not need to be public
|
||||
mod tuple;
|
||||
|
||||
// A curious inner-module that's not exported that contains the bindings of core
|
||||
// so that compiler-expanded references to `core::$foo` can be resolved within
|
||||
// core itself.
|
||||
//
|
||||
// Note that no crate-defined macros require this module due to the existence of
|
||||
// the `$crate` meta variable, only those expansions defined in the compiler
|
||||
// require this. This is because the compiler doesn't currently know that it's
|
||||
// compiling the core library when it's compiling this library, so it expands
|
||||
// all references to `::core::$foo`
|
||||
#[doc(hidden)]
|
||||
#[cfg(stage0)]
|
||||
mod core {
|
||||
pub use intrinsics; // derive(PartialOrd)
|
||||
pub use fmt; // format_args!
|
||||
pub use clone; // derive(Clone)
|
||||
pub use cmp; // derive(Ord)
|
||||
pub use hash; // derive(Hash)
|
||||
pub use marker; // derive(Copy)
|
||||
pub use option; // iterator protocol
|
||||
pub use iter; // iterator protocol
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#![cfg_attr(not(feature = "cargo-build"), unstable(feature = "libc",
|
||||
reason = "use `libc` from crates.io"))]
|
||||
#![cfg_attr(not(feature = "cargo-build"), feature(staged_api, no_std))]
|
||||
#![cfg_attr(all(not(feature = "cargo-build"), stage0), feature(core))]
|
||||
#![cfg_attr(not(feature = "cargo-build"), staged_api)]
|
||||
#![cfg_attr(not(feature = "cargo-build"), no_std)]
|
||||
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
|
||||
|
@ -79,7 +78,6 @@
|
|||
#![allow(bad_style, raw_pointer_derive)]
|
||||
#![cfg_attr(target_os = "nacl", allow(unused_imports))]
|
||||
#[cfg(feature = "cargo-build")] extern crate std as core;
|
||||
#[cfg(all(stage0, not(feature = "cargo-build")))] extern crate core;
|
||||
|
||||
#[cfg(test)] extern crate std;
|
||||
#[cfg(test)] extern crate test;
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
|
||||
//! The ChaCha random number generator.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use {Rng, SeedableRng, Rand};
|
||||
|
||||
const KEY_WORDS : usize = 8; // 8 words for the 256-bit key
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
//! internally. The `IndependentSample` trait is for generating values
|
||||
//! that do not need to record state.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::num::Float;
|
||||
use core::marker::PhantomData;
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
// this is surprisingly complicated to be both generic & correct
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::PartialOrd;
|
||||
|
||||
use Rng;
|
||||
use distributions::{Sample, IndependentSample};
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
#![allow(non_camel_case_types)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::slice;
|
||||
use core::iter::repeat;
|
||||
use core::num::Wrapping as w;
|
||||
|
|
|
@ -34,20 +34,14 @@
|
|||
#![feature(num_bits_bytes)]
|
||||
#![feature(staged_api)]
|
||||
#![feature(step_by)]
|
||||
#![cfg_attr(stage0, feature(core, core_prelude))]
|
||||
|
||||
#![cfg_attr(test, feature(test, rand, rustc_private, iter_order))]
|
||||
|
||||
#![allow(deprecated)]
|
||||
|
||||
#[cfg(stage0)] #[macro_use] extern crate core;
|
||||
|
||||
#[cfg(test)] #[macro_use] extern crate std;
|
||||
#[cfg(test)] #[macro_use] extern crate log;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::marker::PhantomData;
|
||||
|
||||
pub use isaac::{IsaacRng, Isaac64Rng};
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
|
||||
//! The implementations of `Rand` for the built-in types.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::char;
|
||||
use core::isize;
|
||||
use core::usize;
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
//! A wrapper around another RNG that reseeds it after it
|
||||
//! generates a certain number of random bytes.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use {Rng, SeedableRng};
|
||||
|
||||
/// How many bytes of entropy the underling RNG is allowed to generate
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#![feature(link_args)]
|
||||
#![feature(staged_api)]
|
||||
#![feature(vec_push_all)]
|
||||
#![cfg_attr(not(stage0), feature(linked_from))]
|
||||
#![feature(linked_from)]
|
||||
|
||||
extern crate libc;
|
||||
#[macro_use] #[no_link] extern crate rustc_bitflags;
|
||||
|
@ -599,7 +599,7 @@ pub mod debuginfo {
|
|||
// automatically updated whenever LLVM is updated to include an up-to-date
|
||||
// set of the libraries we need to link to LLVM for.
|
||||
#[link(name = "rustllvm", kind = "static")]
|
||||
#[cfg_attr(not(stage0), linked_from = "rustllvm")] // not quite true but good enough
|
||||
#[linked_from = "rustllvm"] // not quite true but good enough
|
||||
extern {
|
||||
/* Create and destroy contexts. */
|
||||
pub fn LLVMContextCreate() -> ContextRef;
|
||||
|
|
|
@ -41,9 +41,6 @@
|
|||
#![feature(lang_items)]
|
||||
#![feature(no_std)]
|
||||
#![feature(staged_api)]
|
||||
#![cfg_attr(stage0, feature(core, core_prelude))]
|
||||
|
||||
#[cfg(stage0)] extern crate core;
|
||||
|
||||
mod normalize;
|
||||
mod tables;
|
||||
|
|
|
@ -14,8 +14,6 @@
|
|||
//! unicode parts of the CharExt trait.
|
||||
|
||||
use self::GraphemeState::*;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::char;
|
||||
use core::cmp;
|
||||
|
|
|
@ -32,9 +32,6 @@
|
|||
#![unstable(feature = "os_str",
|
||||
reason = "recently added as part of path/io reform")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use borrow::{Borrow, Cow, ToOwned};
|
||||
use ffi::CString;
|
||||
use fmt::{self, Debug};
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use fmt;
|
||||
use ffi::OsString;
|
||||
use io::{self, SeekFrom, Seek, Read, Write};
|
||||
|
|
|
@ -292,9 +292,6 @@ impl Write for Cursor<Vec<u8>> {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use io::prelude::*;
|
||||
use io::{Cursor, SeekFrom};
|
||||
use vec::Vec;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use boxed::Box;
|
||||
use cmp;
|
||||
use io::{self, SeekFrom, Read, Write, Seek, BufRead, Error, ErrorKind};
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
|
||||
#![allow(missing_copy_implementations)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io::{self, Read, Write, ErrorKind, BufRead};
|
||||
|
||||
/// Copies the entire contents of a reader into a writer.
|
||||
|
|
|
@ -249,7 +249,6 @@
|
|||
#![cfg_attr(test, feature(float_from_str_radix, range_inclusive, float_extras, hash_default))]
|
||||
#![cfg_attr(test, feature(test, rustc_private, float_consts))]
|
||||
#![cfg_attr(target_env = "msvc", feature(link_args))]
|
||||
#![cfg_attr(stage0, feature(core, core_prelude))]
|
||||
|
||||
// Don't link to std. We are std.
|
||||
#![no_std]
|
||||
|
@ -257,8 +256,6 @@
|
|||
#![allow(trivial_casts)]
|
||||
#![deny(missing_docs)]
|
||||
|
||||
#[cfg(stage0)] #[macro_use] extern crate core;
|
||||
|
||||
#[cfg(test)] extern crate test;
|
||||
#[cfg(test)] #[macro_use] extern crate log;
|
||||
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
#![unstable(feature = "udp", reason = "remaining functions have not been \
|
||||
scrutinized enough to be stabilized")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use fmt;
|
||||
use io::{self, Error, ErrorKind};
|
||||
use net::{ToSocketAddrs, SocketAddr, IpAddr};
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use core::num;
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
use intrinsics;
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use core::num;
|
||||
use intrinsics;
|
||||
use libc::c_int;
|
||||
|
|
|
@ -43,8 +43,6 @@ pub fn test_num<T>(ten: T, two: T) where
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use super::*;
|
||||
use i8;
|
||||
use i16;
|
||||
|
|
|
@ -98,9 +98,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use ascii::*;
|
||||
use borrow::{Borrow, IntoCow, ToOwned, Cow};
|
||||
use cmp;
|
||||
|
@ -135,8 +132,6 @@ use self::platform::{is_sep_byte, is_verbatim_sep, MAIN_SEP_STR, parse_prefix};
|
|||
#[cfg(unix)]
|
||||
mod platform {
|
||||
use super::Prefix;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use ffi::OsStr;
|
||||
|
||||
#[inline]
|
||||
|
@ -159,8 +154,6 @@ mod platform {
|
|||
|
||||
#[cfg(windows)]
|
||||
mod platform {
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use ascii::*;
|
||||
|
||||
use super::{os_str_as_u8_slice, u8_slice_as_os_str, Prefix};
|
||||
|
@ -1749,8 +1742,6 @@ impl AsRef<Path> for PathBuf {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use string::{ToString, String};
|
||||
use vec::Vec;
|
||||
|
||||
|
|
|
@ -57,9 +57,6 @@
|
|||
|
||||
#![unstable(feature = "rand")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::RefCell;
|
||||
use io;
|
||||
use mem;
|
||||
|
|
|
@ -15,7 +15,6 @@ pub use self::imp::OsRng;
|
|||
|
||||
#[cfg(all(unix, not(target_os = "ios")))]
|
||||
mod imp {
|
||||
#[cfg(stage0)] use prelude::v1::*;
|
||||
use self::OsRngInner::*;
|
||||
|
||||
use fs::File;
|
||||
|
@ -249,9 +248,6 @@ mod imp {
|
|||
|
||||
#[cfg(windows)]
|
||||
mod imp {
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io;
|
||||
use mem;
|
||||
use rand::Rng;
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
#![allow(dead_code)]
|
||||
|
||||
#[cfg(stage0)] use prelude::v1::*;
|
||||
use io::prelude::*;
|
||||
use rand::Rng;
|
||||
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
//!
|
||||
//! FIXME #7756: Would be nice for this to not exist.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use vec::Vec;
|
||||
|
||||
/// One-time global initialization.
|
||||
|
@ -141,8 +139,6 @@ mod imp {
|
|||
target_os = "ios",
|
||||
target_os = "windows"))]
|
||||
mod imp {
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use vec::Vec;
|
||||
|
||||
pub unsafe fn init(_argc: isize, _argv: *const *const u8) {
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
#![allow(non_camel_case_types)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use env;
|
||||
use sync::atomic::{self, Ordering};
|
||||
|
||||
|
|
|
@ -39,8 +39,6 @@
|
|||
outside in crates.io first")]
|
||||
#![allow(deprecated)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use core::mem::replace;
|
||||
|
||||
use boxed::Box;
|
||||
|
|
|
@ -265,9 +265,6 @@
|
|||
// And now that you've seen all the races that I found and attempted to fix,
|
||||
// here's the code for you to find some more!
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use sync::Arc;
|
||||
use error;
|
||||
use fmt;
|
||||
|
|
|
@ -40,9 +40,6 @@
|
|||
|
||||
pub use self::PopResult::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use alloc::boxed::Box;
|
||||
use core::ptr;
|
||||
use core::cell::UnsafeCell;
|
||||
|
|
|
@ -37,9 +37,6 @@ pub use self::UpgradeResult::*;
|
|||
pub use self::SelectionResult::*;
|
||||
use self::MyUpgrade::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use sync::mpsc::Receiver;
|
||||
use sync::mpsc::blocking::{self, SignalToken};
|
||||
use core::mem;
|
||||
|
|
|
@ -57,9 +57,6 @@
|
|||
but no guarantees beyond this are being made")]
|
||||
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cell::{Cell, UnsafeCell};
|
||||
use core::marker;
|
||||
use core::ptr;
|
||||
|
|
|
@ -20,9 +20,6 @@
|
|||
|
||||
pub use self::Failure::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp;
|
||||
use core::isize;
|
||||
|
||||
|
|
|
@ -33,9 +33,6 @@
|
|||
//! concurrently between two threads. This data structure is safe to use and
|
||||
//! enforces the semantics that there is one pusher and one popper.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use alloc::boxed::Box;
|
||||
use core::ptr;
|
||||
use core::cell::UnsafeCell;
|
||||
|
|
|
@ -22,9 +22,6 @@ pub use self::UpgradeResult::*;
|
|||
pub use self::SelectionResult::*;
|
||||
use self::Message::*;
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::cmp;
|
||||
use core::isize;
|
||||
use thread;
|
||||
|
|
|
@ -33,9 +33,6 @@
|
|||
/// of a synchronous channel. There are a few branches for the unbuffered case,
|
||||
/// but they're mostly just relevant to blocking senders.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
pub use self::Failure::*;
|
||||
use self::Blocker::*;
|
||||
|
||||
|
|
|
@ -13,9 +13,6 @@
|
|||
//! This primitive is meant to be used to run one-time initialization. An
|
||||
//! example use case would be for initializing an FFI library.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use isize;
|
||||
use sync::atomic::{AtomicIsize, Ordering};
|
||||
use sync::StaticMutex;
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
use io::prelude::*;
|
||||
|
||||
use io;
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
|
||||
#![allow(missing_docs)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
pub mod backtrace;
|
||||
pub mod condvar;
|
||||
pub mod mutex;
|
||||
|
@ -51,7 +48,3 @@ pub trait IntoInner<Inner> {
|
|||
pub trait FromInner<Inner> {
|
||||
fn from_inner(inner: Inner) -> Self;
|
||||
}
|
||||
|
||||
#[cfg(stage0)]
|
||||
#[lang = "stack_exhausted"]
|
||||
pub fn stack_exhausted() {}
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::Cell;
|
||||
use error::{Error};
|
||||
use fmt;
|
||||
|
|
|
@ -10,9 +10,6 @@
|
|||
|
||||
#![allow(dead_code)] // stack_guard isn't used right now on all platforms
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use cell::RefCell;
|
||||
use string::String;
|
||||
use thread::Thread;
|
||||
|
|
|
@ -58,9 +58,6 @@
|
|||
#![unstable(feature = "thread_local_internals")]
|
||||
#![allow(dead_code)] // sys isn't exported yet
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use sync::atomic::{self, AtomicUsize, Ordering};
|
||||
|
||||
use sys::thread_local as imp;
|
||||
|
|
|
@ -25,9 +25,6 @@
|
|||
// unix (it's mostly used on windows), so don't worry about dead code here.
|
||||
#![allow(dead_code)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use core::char::{encode_utf8_raw, encode_utf16_raw};
|
||||
use core::str::next_code_point;
|
||||
|
||||
|
|
|
@ -83,8 +83,6 @@
|
|||
/// 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::*;
|
||||
|
||||
use ffi::CStr;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::UnsafeCell;
|
||||
use libc;
|
||||
use ptr;
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use fs::{self, Permissions, OpenOptions};
|
||||
use io;
|
||||
use libc;
|
||||
|
|
|
@ -14,8 +14,6 @@
|
|||
|
||||
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;
|
||||
use sys_common::{AsInnerMut, AsInner, FromInner, IntoInner};
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use io;
|
||||
use libc::{self, c_int, size_t, c_void};
|
||||
use mem;
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use io::prelude::*;
|
||||
use os::unix::prelude::*;
|
||||
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
#![allow(missing_docs)]
|
||||
#![allow(non_camel_case_types)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io::{self, ErrorKind};
|
||||
use libc;
|
||||
use num::One;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::UnsafeCell;
|
||||
use sys::sync as ffi;
|
||||
use mem;
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
/// The underlying OsString/OsStr implementation on Unix systems: just
|
||||
/// a `Vec<u8>`/`[u8]`.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use borrow::Cow;
|
||||
use fmt::{self, Debug};
|
||||
use vec::Vec;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use sys::fd::FileDesc;
|
||||
use io;
|
||||
use libc;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use libc;
|
||||
use cell::UnsafeCell;
|
||||
use sys::sync as ffi;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
|
||||
use libc;
|
||||
use self::imp::{make_handler, drop_handler};
|
||||
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io;
|
||||
use libc;
|
||||
use sys::fd::FileDesc;
|
||||
|
|
|
@ -163,9 +163,6 @@ impl Drop for Thread {
|
|||
not(target_os = "netbsd"),
|
||||
not(target_os = "openbsd")))]
|
||||
pub mod guard {
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
pub unsafe fn current() -> Option<usize> { None }
|
||||
pub unsafe fn init() -> Option<usize> { None }
|
||||
}
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
|
||||
#![allow(dead_code)] // sys isn't exported yet
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
use libc::c_int;
|
||||
|
||||
pub type Key = pthread_key_t;
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
|
||||
#![allow(dead_code)]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
use io::prelude::*;
|
||||
|
||||
use dynamic_lib::DynamicLibrary;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::UnsafeCell;
|
||||
use libc::{self, DWORD};
|
||||
use sys::c;
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use fs::{OpenOptions, Metadata};
|
||||
use io;
|
||||
use path::Path;
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use core::prelude::v1::*;
|
||||
use io::prelude::*;
|
||||
use os::windows::prelude::*;
|
||||
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io::ErrorKind;
|
||||
use io;
|
||||
use libc::funcs::extra::kernel32::{GetCurrentProcess, DuplicateHandle};
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io;
|
||||
use libc::consts::os::extra::INVALID_SOCKET;
|
||||
use libc::{self, c_int, c_void};
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use io;
|
||||
use libc;
|
||||
use sys::cvt;
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::UnsafeCell;
|
||||
use sys::c;
|
||||
|
||||
|
|
|
@ -81,9 +81,6 @@ impl Thread {
|
|||
}
|
||||
|
||||
pub mod guard {
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
pub unsafe fn current() -> Option<usize> { None }
|
||||
pub unsafe fn init() -> Option<usize> { None }
|
||||
}
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
#![unstable(feature = "thread_local_internals")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::UnsafeCell;
|
||||
|
||||
// Sure wish we had macro hygiene, no?
|
||||
|
@ -272,9 +269,6 @@ impl<T: 'static> LocalKey<T> {
|
|||
not(no_elf_tls)))]
|
||||
#[doc(hidden)]
|
||||
mod imp {
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::{Cell, UnsafeCell};
|
||||
use intrinsics;
|
||||
use ptr;
|
||||
|
|
|
@ -42,9 +42,6 @@
|
|||
|
||||
#![unstable(feature = "thread_local_internals")]
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
#[doc(hidden)]
|
||||
pub use self::imp::KeyInner as __KeyInner;
|
||||
|
||||
|
@ -250,9 +247,6 @@ mod imp {
|
|||
no_elf_tls))]
|
||||
#[doc(hidden)]
|
||||
mod imp {
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use cell::Cell;
|
||||
use marker;
|
||||
use sys_common::thread_local::StaticKey as OsStaticKey;
|
||||
|
@ -280,8 +274,6 @@ mod imp {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use cell::Cell;
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
scoped_thread_local!(static FOO: u32);
|
||||
|
||||
|
|
|
@ -8,9 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#[cfg(stage0)]
|
||||
use prelude::v1::*;
|
||||
|
||||
use ops::{Add, Sub, Mul, Div};
|
||||
use sys::time::SteadyTime;
|
||||
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
|
@ -1,3 +1,14 @@
|
|||
S 2015-08-11 1af31d4
|
||||
bitrig-x86_64 0000000000000000000000000000000000000000
|
||||
freebsd-i386 0000000000000000000000000000000000000000
|
||||
freebsd-x86_64 0000000000000000000000000000000000000000
|
||||
linux-i386 e2553bf399cd134a08ef3511a0a6ab0d7a667216
|
||||
linux-x86_64 7df8ba9dec63ec77b857066109d4b6250f3d222f
|
||||
macos-i386 29750870c82a0347f8b8b735a4e2e0da26f5098d
|
||||
macos-x86_64 c9f2c588238b4c6998190c3abeb33fd6164099a2
|
||||
winnt-i386 dc01ac690efdcc40eb6fd8154205a1f21893eb6c
|
||||
winnt-x86_64 1464a2e54768498222277f904ccd559e27608950
|
||||
|
||||
S 2015-07-26 a5c12f4
|
||||
bitrig-x86_64 8734eb41ffbe6ddc1120aa2910db4162ec9cf270
|
||||
freebsd-i386 2fee22adec101e2f952a5548fd1437ce1bd8d26f
|
||||
|
|
Loading…
Add table
Reference in a new issue