Update snapshots to 2016-03-18 (235d774).
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
authors = ["The Rust Project Developers"]
|
||||
name = "core"
|
||||
version = "0.0.0"
|
||||
build = "build.rs"
|
||||
|
||||
[lib]
|
||||
name = "core"
|
||||
|
||||
14
src/libcore/build.rs
Normal file
14
src/libcore/build.rs
Normal file
@@ -0,0 +1,14 @@
|
||||
// Copyright 2016 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.
|
||||
|
||||
fn main() {
|
||||
// Remove this whenever snapshots and rustbuild nightlies are synced.
|
||||
println!("cargo:rustc-cfg=cargobuild");
|
||||
}
|
||||
@@ -53,53 +53,44 @@ extern "rust-intrinsic" {
|
||||
// NB: These intrinsics take raw pointers because they mutate aliased
|
||||
// memory, which is not valid for either `&` or `&mut`.
|
||||
|
||||
#[cfg(stage0)]
|
||||
#[cfg(all(stage0, not(cargobuild)))]
|
||||
pub fn atomic_cxchg<T>(dst: *mut T, old: T, src: T) -> T;
|
||||
#[cfg(stage0)]
|
||||
#[cfg(all(stage0, not(cargobuild)))]
|
||||
pub fn atomic_cxchg_acq<T>(dst: *mut T, old: T, src: T) -> T;
|
||||
#[cfg(stage0)]
|
||||
#[cfg(all(stage0, not(cargobuild)))]
|
||||
pub fn atomic_cxchg_rel<T>(dst: *mut T, old: T, src: T) -> T;
|
||||
#[cfg(stage0)]
|
||||
#[cfg(all(stage0, not(cargobuild)))]
|
||||
pub fn atomic_cxchg_acqrel<T>(dst: *mut T, old: T, src: T) -> T;
|
||||
#[cfg(stage0)]
|
||||
#[cfg(all(stage0, not(cargobuild)))]
|
||||
pub fn atomic_cxchg_relaxed<T>(dst: *mut T, old: T, src: T) -> T;
|
||||
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_acq<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_rel<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_acqrel<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_relaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_failrelaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_failacq<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_acq_failrelaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
pub fn atomic_cxchg_acqrel_failrelaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_acq<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_rel<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_acqrel<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_relaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_failrelaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_failacq<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_acq_failrelaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
#[cfg(not(stage0))]
|
||||
pub fn atomic_cxchgweak_acqrel_failrelaxed<T>(dst: *mut T, old: T, src: T) -> (T, bool);
|
||||
|
||||
pub fn atomic_load<T>(src: *const T) -> T;
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
#![feature(const_fn)]
|
||||
#![feature(custom_attribute)]
|
||||
#![feature(fundamental)]
|
||||
#![feature(inclusive_range_syntax)]
|
||||
#![feature(intrinsics)]
|
||||
#![feature(lang_items)]
|
||||
#![feature(no_core)]
|
||||
|
||||
@@ -1008,7 +1008,7 @@ macro_rules! int_impl {
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[inline]
|
||||
#[cfg_attr(not(stage0), rustc_no_mir)] // FIXME #29769 MIR overflow checking is TBD.
|
||||
#[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD.
|
||||
pub fn pow(self, mut exp: u32) -> Self {
|
||||
let mut base = self;
|
||||
let mut acc = Self::one();
|
||||
@@ -1050,7 +1050,7 @@ macro_rules! int_impl {
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[inline]
|
||||
#[cfg_attr(not(stage0), rustc_no_mir)] // FIXME #29769 MIR overflow checking is TBD.
|
||||
#[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD.
|
||||
pub fn abs(self) -> Self {
|
||||
if self.is_negative() {
|
||||
// Note that the #[inline] above means that the overflow
|
||||
@@ -2015,7 +2015,7 @@ macro_rules! uint_impl {
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[inline]
|
||||
#[cfg_attr(not(stage0), rustc_no_mir)] // FIXME #29769 MIR overflow checking is TBD.
|
||||
#[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD.
|
||||
pub fn pow(self, mut exp: u32) -> Self {
|
||||
let mut base = self;
|
||||
let mut acc = Self::one();
|
||||
|
||||
@@ -1448,7 +1448,6 @@ pub trait IndexMut<Idx: ?Sized>: Index<Idx> {
|
||||
|
||||
/// An unbounded range.
|
||||
#[derive(Copy, Clone, PartialEq, Eq)]
|
||||
#[cfg_attr(stage0, lang = "range_full")] // FIXME remove attribute after next snapshot
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct RangeFull;
|
||||
|
||||
@@ -1461,7 +1460,6 @@ impl fmt::Debug for RangeFull {
|
||||
|
||||
/// A (half-open) range which is bounded at both ends.
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
#[cfg_attr(stage0, lang = "range")] // FIXME remove attribute after next snapshot
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct Range<Idx> {
|
||||
/// The lower bound of the range (inclusive).
|
||||
@@ -1481,7 +1479,6 @@ impl<Idx: fmt::Debug> fmt::Debug for Range<Idx> {
|
||||
|
||||
/// A range which is only bounded below.
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
#[cfg_attr(stage0, lang = "range_from")] // FIXME remove attribute after next snapshot
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct RangeFrom<Idx> {
|
||||
/// The lower bound of the range (inclusive).
|
||||
@@ -1498,7 +1495,6 @@ impl<Idx: fmt::Debug> fmt::Debug for RangeFrom<Idx> {
|
||||
|
||||
/// A range which is only bounded above.
|
||||
#[derive(Copy, Clone, PartialEq, Eq)]
|
||||
#[cfg_attr(stage0, lang = "range_to")] // FIXME remove attribute after next snapshot
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct RangeTo<Idx> {
|
||||
/// The upper bound of the range (exclusive).
|
||||
|
||||
@@ -632,8 +632,7 @@ impl<T> ops::Index<ops::RangeToInclusive<usize>> for [T] {
|
||||
|
||||
#[inline]
|
||||
fn index(&self, index: ops::RangeToInclusive<usize>) -> &[T] {
|
||||
// SNAP 4d3eebf change this to `0...index.end`
|
||||
self.index(ops::RangeInclusive::NonEmpty { start: 0, end: index.end })
|
||||
self.index(0...index.end)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -723,8 +722,7 @@ impl<T> ops::IndexMut<ops::RangeInclusive<usize>> for [T] {
|
||||
impl<T> ops::IndexMut<ops::RangeToInclusive<usize>> for [T] {
|
||||
#[inline]
|
||||
fn index_mut(&mut self, index: ops::RangeToInclusive<usize>) -> &mut [T] {
|
||||
// SNAP 4d3eebf change this to `0...index.end`
|
||||
self.index_mut(ops::RangeInclusive::NonEmpty { start: 0, end: index.end })
|
||||
self.index_mut(0...index.end)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1524,8 +1524,7 @@ mod traits {
|
||||
|
||||
#[inline]
|
||||
fn index(&self, index: ops::RangeToInclusive<usize>) -> &str {
|
||||
// SNAP 4d3eebf change this to `0...index.end`
|
||||
self.index(ops::RangeInclusive::NonEmpty { start: 0, end: index.end })
|
||||
self.index(0...index.end)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1550,8 +1549,7 @@ mod traits {
|
||||
impl ops::IndexMut<ops::RangeToInclusive<usize>> for str {
|
||||
#[inline]
|
||||
fn index_mut(&mut self, index: ops::RangeToInclusive<usize>) -> &mut str {
|
||||
// SNAP 4d3eebf change this to `0...index.end`
|
||||
self.index_mut(ops::RangeInclusive::NonEmpty { start: 0, end: index.end })
|
||||
self.index_mut(0...index.end)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1380,7 +1380,7 @@ unsafe fn atomic_sub<T>(dst: *mut T, val: T, order: Ordering) -> T {
|
||||
}
|
||||
|
||||
#[inline]
|
||||
#[cfg(not(stage0))]
|
||||
#[cfg(any(not(stage0), cargobuild))]
|
||||
unsafe fn atomic_compare_exchange<T>(dst: *mut T,
|
||||
old: T,
|
||||
new: T,
|
||||
@@ -1408,7 +1408,7 @@ unsafe fn atomic_compare_exchange<T>(dst: *mut T,
|
||||
}
|
||||
|
||||
#[inline]
|
||||
#[cfg(stage0)]
|
||||
#[cfg(all(stage0, not(cargobuild)))]
|
||||
unsafe fn atomic_compare_exchange<T>(dst: *mut T,
|
||||
old: T,
|
||||
new: T,
|
||||
@@ -1431,7 +1431,6 @@ unsafe fn atomic_compare_exchange<T>(dst: *mut T,
|
||||
}
|
||||
|
||||
#[inline]
|
||||
#[cfg(not(stage0))]
|
||||
unsafe fn atomic_compare_exchange_weak<T>(dst: *mut T,
|
||||
old: T,
|
||||
new: T,
|
||||
@@ -1458,18 +1457,6 @@ unsafe fn atomic_compare_exchange_weak<T>(dst: *mut T,
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
#[cfg(stage0)]
|
||||
unsafe fn atomic_compare_exchange_weak<T>(dst: *mut T,
|
||||
old: T,
|
||||
new: T,
|
||||
success: Ordering,
|
||||
failure: Ordering) -> Result<T, T>
|
||||
where T: ::cmp::Eq + ::marker::Copy
|
||||
{
|
||||
atomic_compare_exchange(dst, old, new, success, failure)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
unsafe fn atomic_and<T>(dst: *mut T, val: T, order: Ordering) -> T {
|
||||
match order {
|
||||
|
||||
Reference in New Issue
Block a user