Register new 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:
Alex Crichton 2015-08-11 14:31:23 -07:00
parent 91c618f133
commit 938099a7eb
95 changed files with 25 additions and 483 deletions

View File

@ -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

View File

@ -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

View File

@ -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) = \

View File

@ -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))))

View File

@ -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.

View File

@ -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))))))

View File

@ -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;

View File

@ -53,9 +53,6 @@
#![stable(feature = "rust1", since = "1.0.0")]
#[cfg(stage0)]
use core::prelude::v1::*;
use heap;
use raw_vec::RawVec;

View File

@ -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;

View File

@ -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)]

View File

@ -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;

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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};

View File

@ -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};

View File

@ -60,28 +60,26 @@
html_playground_url = "http://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
}

View File

@ -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 = "http://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;

View File

@ -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

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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};

View File

@ -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};

View File

@ -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;

View File

@ -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};

View File

@ -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.

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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};
@ -1750,8 +1743,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;

View File

@ -57,9 +57,6 @@
#![unstable(feature = "rand")]
#[cfg(stage0)]
use prelude::v1::*;
use cell::RefCell;
use io;
use mem;

View File

@ -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;

View File

@ -12,7 +12,6 @@
#![allow(dead_code)]
#[cfg(stage0)] use prelude::v1::*;
use io::prelude::*;
use rand::Rng;

View File

@ -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) {

View File

@ -12,9 +12,6 @@
#![allow(non_camel_case_types)]
#[cfg(stage0)]
use prelude::v1::*;
use env;
use sync::atomic::{self, Ordering};

View File

@ -39,8 +39,6 @@
outside in crates.io first")]
#![allow(deprecated)]
#[cfg(stage0)]
use core::prelude::v1::*;
use core::mem::replace;
use boxed::Box;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -20,9 +20,6 @@
pub use self::Failure::*;
#[cfg(stage0)]
use core::prelude::v1::*;
use core::cmp;
use core::isize;

View File

@ -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;

View File

@ -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;

View File

@ -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::*;

View File

@ -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;

View File

@ -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;

View File

@ -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() {}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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::*;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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};

View File

@ -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;

View File

@ -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 }
}

View File

@ -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;

View File

@ -24,8 +24,6 @@
#![allow(dead_code)]
#[cfg(stage0)]
use prelude::v1::*;
use io::prelude::*;
use dynamic_lib::DynamicLibrary;

View File

@ -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;

View File

@ -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;

View File

@ -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::*;

View File

@ -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};

View File

@ -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};

View File

@ -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;

View File

@ -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;

View File

@ -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 }
}

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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.

View File

@ -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