mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Snap cfgs to new beta
This commit is contained in:
parent
1a4e4d937e
commit
f359a94849
@ -240,7 +240,6 @@ pub(crate) unsafe fn box_free<T: ?Sized>(ptr: Unique<T>) {
|
|||||||
#[stable(feature = "global_alloc", since = "1.28.0")]
|
#[stable(feature = "global_alloc", since = "1.28.0")]
|
||||||
#[rustc_allocator_nounwind]
|
#[rustc_allocator_nounwind]
|
||||||
pub fn handle_alloc_error(layout: Layout) -> ! {
|
pub fn handle_alloc_error(layout: Layout) -> ! {
|
||||||
#[cfg_attr(bootstrap, allow(improper_ctypes))]
|
|
||||||
extern "Rust" {
|
extern "Rust" {
|
||||||
#[lang = "oom"]
|
#[lang = "oom"]
|
||||||
fn oom_impl(layout: Layout) -> !;
|
fn oom_impl(layout: Layout) -> !;
|
||||||
|
@ -117,7 +117,6 @@
|
|||||||
#![feature(allocator_internals)]
|
#![feature(allocator_internals)]
|
||||||
#![feature(on_unimplemented)]
|
#![feature(on_unimplemented)]
|
||||||
#![feature(rustc_const_unstable)]
|
#![feature(rustc_const_unstable)]
|
||||||
#![cfg_attr(bootstrap, feature(const_vec_new))]
|
|
||||||
#![feature(slice_partition_dedup)]
|
#![feature(slice_partition_dedup)]
|
||||||
#![feature(maybe_uninit_extra, maybe_uninit_slice)]
|
#![feature(maybe_uninit_extra, maybe_uninit_slice)]
|
||||||
#![feature(alloc_layout_extra)]
|
#![feature(alloc_layout_extra)]
|
||||||
|
@ -369,7 +369,6 @@ impl String {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_string_new"))]
|
|
||||||
pub const fn new() -> String {
|
pub const fn new() -> String {
|
||||||
String { vec: Vec::new() }
|
String { vec: Vec::new() }
|
||||||
}
|
}
|
||||||
|
@ -291,7 +291,7 @@ use crate::raw_vec::RawVec;
|
|||||||
/// [`reserve`]: ../../std/vec/struct.Vec.html#method.reserve
|
/// [`reserve`]: ../../std/vec/struct.Vec.html#method.reserve
|
||||||
/// [owned slice]: ../../std/boxed/struct.Box.html
|
/// [owned slice]: ../../std/boxed/struct.Box.html
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[cfg_attr(all(not(bootstrap), not(test)), rustc_diagnostic_item = "vec_type")]
|
#[cfg_attr(not(test), rustc_diagnostic_item = "vec_type")]
|
||||||
pub struct Vec<T> {
|
pub struct Vec<T> {
|
||||||
buf: RawVec<T>,
|
buf: RawVec<T>,
|
||||||
len: usize,
|
len: usize,
|
||||||
@ -314,7 +314,6 @@ impl<T> Vec<T> {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_vec_new"))]
|
|
||||||
pub const fn new() -> Vec<T> {
|
pub const fn new() -> Vec<T> {
|
||||||
Vec {
|
Vec {
|
||||||
buf: RawVec::NEW,
|
buf: RawVec::NEW,
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
//! impl bool {}
|
//! impl bool {}
|
||||||
|
|
||||||
#[cfg(not(bootstrap))]
|
|
||||||
#[lang = "bool"]
|
#[lang = "bool"]
|
||||||
impl bool {
|
impl bool {
|
||||||
/// Returns `Some(t)` if the `bool` is `true`, or `None` otherwise.
|
/// Returns `Some(t)` if the `bool` is `true`, or `None` otherwise.
|
||||||
|
@ -135,7 +135,6 @@ pub trait Clone : Sized {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `Clone`.
|
/// Derive macro generating an impl of the trait `Clone`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics, derive_clone_copy)]
|
#[allow_internal_unstable(core_intrinsics, derive_clone_copy)]
|
||||||
pub macro Clone($item:item) { /* compiler built-in */ }
|
pub macro Clone($item:item) { /* compiler built-in */ }
|
||||||
|
@ -210,7 +210,6 @@ pub trait PartialEq<Rhs: ?Sized = Self> {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `PartialEq`.
|
/// Derive macro generating an impl of the trait `PartialEq`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics)]
|
#[allow_internal_unstable(core_intrinsics)]
|
||||||
pub macro PartialEq($item:item) { /* compiler built-in */ }
|
pub macro PartialEq($item:item) { /* compiler built-in */ }
|
||||||
@ -273,7 +272,6 @@ pub trait Eq: PartialEq<Self> {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `Eq`.
|
/// Derive macro generating an impl of the trait `Eq`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics, derive_eq)]
|
#[allow_internal_unstable(core_intrinsics, derive_eq)]
|
||||||
pub macro Eq($item:item) { /* compiler built-in */ }
|
pub macro Eq($item:item) { /* compiler built-in */ }
|
||||||
@ -624,7 +622,6 @@ pub trait Ord: Eq + PartialOrd<Self> {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `Ord`.
|
/// Derive macro generating an impl of the trait `Ord`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics)]
|
#[allow_internal_unstable(core_intrinsics)]
|
||||||
pub macro Ord($item:item) { /* compiler built-in */ }
|
pub macro Ord($item:item) { /* compiler built-in */ }
|
||||||
@ -873,7 +870,6 @@ pub trait PartialOrd<Rhs: ?Sized = Self>: PartialEq<Rhs> {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `PartialOrd`.
|
/// Derive macro generating an impl of the trait `PartialOrd`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics)]
|
#[allow_internal_unstable(core_intrinsics)]
|
||||||
pub macro PartialOrd($item:item) { /* compiler built-in */ }
|
pub macro PartialOrd($item:item) { /* compiler built-in */ }
|
||||||
|
@ -117,7 +117,6 @@ pub trait Default: Sized {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `Default`.
|
/// Derive macro generating an impl of the trait `Default`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics)]
|
#[allow_internal_unstable(core_intrinsics)]
|
||||||
pub macro Default($item:item) { /* compiler built-in */ }
|
pub macro Default($item:item) { /* compiler built-in */ }
|
||||||
|
@ -518,8 +518,7 @@ impl Display for Arguments<'_> {
|
|||||||
label="`{Self}` cannot be formatted using `{{:?}}` because it doesn't implement `{Debug}`",
|
label="`{Self}` cannot be formatted using `{{:?}}` because it doesn't implement `{Debug}`",
|
||||||
)]
|
)]
|
||||||
#[doc(alias = "{:?}")]
|
#[doc(alias = "{:?}")]
|
||||||
#[cfg_attr(bootstrap, lang = "debug_trait")]
|
#[rustc_diagnostic_item = "debug_trait"]
|
||||||
#[cfg_attr(not(bootstrap), rustc_diagnostic_item = "debug_trait")]
|
|
||||||
pub trait Debug {
|
pub trait Debug {
|
||||||
/// Formats the value using the given formatter.
|
/// Formats the value using the given formatter.
|
||||||
///
|
///
|
||||||
@ -550,7 +549,6 @@ pub trait Debug {
|
|||||||
pub(crate) mod macros {
|
pub(crate) mod macros {
|
||||||
/// Derive macro generating an impl of the trait `Debug`.
|
/// Derive macro generating an impl of the trait `Debug`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics)]
|
#[allow_internal_unstable(core_intrinsics)]
|
||||||
pub macro Debug($item:item) { /* compiler built-in */ }
|
pub macro Debug($item:item) { /* compiler built-in */ }
|
||||||
|
@ -202,7 +202,6 @@ pub trait Hash {
|
|||||||
pub(crate) mod macros {
|
pub(crate) mod macros {
|
||||||
/// Derive macro generating an impl of the trait `Hash`.
|
/// Derive macro generating an impl of the trait `Hash`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics)]
|
#[allow_internal_unstable(core_intrinsics)]
|
||||||
pub macro Hash($item:item) { /* compiler built-in */ }
|
pub macro Hash($item:item) { /* compiler built-in */ }
|
||||||
|
@ -1299,38 +1299,16 @@ extern "rust-intrinsic" {
|
|||||||
/// The stabilized versions of this intrinsic are available on the integer
|
/// The stabilized versions of this intrinsic are available on the integer
|
||||||
/// primitives via the `wrapping_add` method. For example,
|
/// primitives via the `wrapping_add` method. For example,
|
||||||
/// [`std::u32::wrapping_add`](../../std/primitive.u32.html#method.wrapping_add)
|
/// [`std::u32::wrapping_add`](../../std/primitive.u32.html#method.wrapping_add)
|
||||||
#[cfg(bootstrap)]
|
|
||||||
pub fn overflowing_add<T>(a: T, b: T) -> T;
|
|
||||||
/// Returns (a - b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
|
||||||
/// The stabilized versions of this intrinsic are available on the integer
|
|
||||||
/// primitives via the `wrapping_sub` method. For example,
|
|
||||||
/// [`std::u32::wrapping_sub`](../../std/primitive.u32.html#method.wrapping_sub)
|
|
||||||
#[cfg(bootstrap)]
|
|
||||||
pub fn overflowing_sub<T>(a: T, b: T) -> T;
|
|
||||||
/// Returns (a * b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
|
||||||
/// The stabilized versions of this intrinsic are available on the integer
|
|
||||||
/// primitives via the `wrapping_mul` method. For example,
|
|
||||||
/// [`std::u32::wrapping_mul`](../../std/primitive.u32.html#method.wrapping_mul)
|
|
||||||
#[cfg(bootstrap)]
|
|
||||||
pub fn overflowing_mul<T>(a: T, b: T) -> T;
|
|
||||||
|
|
||||||
/// Returns (a + b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
|
||||||
/// The stabilized versions of this intrinsic are available on the integer
|
|
||||||
/// primitives via the `wrapping_add` method. For example,
|
|
||||||
/// [`std::u32::wrapping_add`](../../std/primitive.u32.html#method.wrapping_add)
|
|
||||||
#[cfg(not(bootstrap))]
|
|
||||||
pub fn wrapping_add<T>(a: T, b: T) -> T;
|
pub fn wrapping_add<T>(a: T, b: T) -> T;
|
||||||
/// Returns (a - b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
/// Returns (a - b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
||||||
/// The stabilized versions of this intrinsic are available on the integer
|
/// The stabilized versions of this intrinsic are available on the integer
|
||||||
/// primitives via the `wrapping_sub` method. For example,
|
/// primitives via the `wrapping_sub` method. For example,
|
||||||
/// [`std::u32::wrapping_sub`](../../std/primitive.u32.html#method.wrapping_sub)
|
/// [`std::u32::wrapping_sub`](../../std/primitive.u32.html#method.wrapping_sub)
|
||||||
#[cfg(not(bootstrap))]
|
|
||||||
pub fn wrapping_sub<T>(a: T, b: T) -> T;
|
pub fn wrapping_sub<T>(a: T, b: T) -> T;
|
||||||
/// Returns (a * b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
/// Returns (a * b) mod 2<sup>N</sup>, where N is the width of T in bits.
|
||||||
/// The stabilized versions of this intrinsic are available on the integer
|
/// The stabilized versions of this intrinsic are available on the integer
|
||||||
/// primitives via the `wrapping_mul` method. For example,
|
/// primitives via the `wrapping_mul` method. For example,
|
||||||
/// [`std::u32::wrapping_mul`](../../std/primitive.u32.html#method.wrapping_mul)
|
/// [`std::u32::wrapping_mul`](../../std/primitive.u32.html#method.wrapping_mul)
|
||||||
#[cfg(not(bootstrap))]
|
|
||||||
pub fn wrapping_mul<T>(a: T, b: T) -> T;
|
pub fn wrapping_mul<T>(a: T, b: T) -> T;
|
||||||
|
|
||||||
/// Computes `a + b`, while saturating at numeric bounds.
|
/// Computes `a + b`, while saturating at numeric bounds.
|
||||||
|
@ -87,7 +87,6 @@
|
|||||||
#![feature(link_llvm_intrinsics)]
|
#![feature(link_llvm_intrinsics)]
|
||||||
#![feature(never_type)]
|
#![feature(never_type)]
|
||||||
#![feature(nll)]
|
#![feature(nll)]
|
||||||
#![cfg_attr(bootstrap, feature(bind_by_move_pattern_guards))]
|
|
||||||
#![feature(exhaustive_patterns)]
|
#![feature(exhaustive_patterns)]
|
||||||
#![feature(no_core)]
|
#![feature(no_core)]
|
||||||
#![feature(on_unimplemented)]
|
#![feature(on_unimplemented)]
|
||||||
@ -120,9 +119,6 @@
|
|||||||
#![feature(rtm_target_feature)]
|
#![feature(rtm_target_feature)]
|
||||||
#![feature(f16c_target_feature)]
|
#![feature(f16c_target_feature)]
|
||||||
#![feature(hexagon_target_feature)]
|
#![feature(hexagon_target_feature)]
|
||||||
#![cfg_attr(bootstrap, feature(const_slice_len))]
|
|
||||||
#![cfg_attr(bootstrap, feature(const_str_as_bytes))]
|
|
||||||
#![cfg_attr(bootstrap, feature(const_str_len))]
|
|
||||||
#![feature(const_int_conversion)]
|
#![feature(const_int_conversion)]
|
||||||
#![feature(const_transmute)]
|
#![feature(const_transmute)]
|
||||||
#![feature(non_exhaustive)]
|
#![feature(non_exhaustive)]
|
||||||
|
@ -1236,10 +1236,8 @@ pub(crate) mod builtin {
|
|||||||
pub macro test($item:item) { /* compiler built-in */ }
|
pub macro test($item:item) { /* compiler built-in */ }
|
||||||
|
|
||||||
/// Attribute macro applied to a function to turn it into a benchmark test.
|
/// Attribute macro applied to a function to turn it into a benchmark test.
|
||||||
#[cfg_attr(not(bootstrap), unstable(soft, feature = "test", issue = "50297",
|
#[unstable(soft, feature = "test", issue = "50297",
|
||||||
reason = "`bench` is a part of custom test frameworks which are unstable"))]
|
reason = "`bench` is a part of custom test frameworks which are unstable")]
|
||||||
#[cfg_attr(bootstrap, unstable(feature = "test", issue = "50297",
|
|
||||||
reason = "`bench` is a part of custom test frameworks which are unstable"))]
|
|
||||||
#[allow_internal_unstable(test, rustc_attrs)]
|
#[allow_internal_unstable(test, rustc_attrs)]
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
pub macro bench($item:item) { /* compiler built-in */ }
|
pub macro bench($item:item) { /* compiler built-in */ }
|
||||||
|
@ -290,7 +290,6 @@ pub trait Copy : Clone {
|
|||||||
|
|
||||||
/// Derive macro generating an impl of the trait `Copy`.
|
/// Derive macro generating an impl of the trait `Copy`.
|
||||||
#[rustc_builtin_macro]
|
#[rustc_builtin_macro]
|
||||||
#[cfg_attr(bootstrap, rustc_macro_transparency = "semitransparent")]
|
|
||||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||||
#[allow_internal_unstable(core_intrinsics, derive_clone_copy)]
|
#[allow_internal_unstable(core_intrinsics, derive_clone_copy)]
|
||||||
pub macro Copy($item:item) { /* compiler built-in */ }
|
pub macro Copy($item:item) { /* compiler built-in */ }
|
||||||
|
@ -1112,13 +1112,7 @@ $EndFeature, "
|
|||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn wrapping_add(self, rhs: Self) -> Self {
|
pub const fn wrapping_add(self, rhs: Self) -> Self {
|
||||||
#[cfg(bootstrap)] {
|
intrinsics::wrapping_add(self, rhs)
|
||||||
intrinsics::overflowing_add(self, rhs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] {
|
|
||||||
intrinsics::wrapping_add(self, rhs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1141,13 +1135,7 @@ $EndFeature, "
|
|||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn wrapping_sub(self, rhs: Self) -> Self {
|
pub const fn wrapping_sub(self, rhs: Self) -> Self {
|
||||||
#[cfg(bootstrap)] {
|
intrinsics::wrapping_sub(self, rhs)
|
||||||
intrinsics::overflowing_sub(self, rhs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] {
|
|
||||||
intrinsics::wrapping_sub(self, rhs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1169,13 +1157,7 @@ $EndFeature, "
|
|||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn wrapping_mul(self, rhs: Self) -> Self {
|
pub const fn wrapping_mul(self, rhs: Self) -> Self {
|
||||||
#[cfg(bootstrap)] {
|
intrinsics::wrapping_mul(self, rhs)
|
||||||
intrinsics::overflowing_mul(self, rhs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] {
|
|
||||||
intrinsics::wrapping_mul(self, rhs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3040,13 +3022,7 @@ $EndFeature, "
|
|||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn wrapping_add(self, rhs: Self) -> Self {
|
pub const fn wrapping_add(self, rhs: Self) -> Self {
|
||||||
#[cfg(bootstrap)] {
|
intrinsics::wrapping_add(self, rhs)
|
||||||
intrinsics::overflowing_add(self, rhs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] {
|
|
||||||
intrinsics::wrapping_add(self, rhs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3068,13 +3044,7 @@ $EndFeature, "
|
|||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn wrapping_sub(self, rhs: Self) -> Self {
|
pub const fn wrapping_sub(self, rhs: Self) -> Self {
|
||||||
#[cfg(bootstrap)] {
|
intrinsics::wrapping_sub(self, rhs)
|
||||||
intrinsics::overflowing_sub(self, rhs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] {
|
|
||||||
intrinsics::wrapping_sub(self, rhs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3097,13 +3067,7 @@ $EndFeature, "
|
|||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn wrapping_mul(self, rhs: Self) -> Self {
|
pub const fn wrapping_mul(self, rhs: Self) -> Self {
|
||||||
#[cfg(bootstrap)] {
|
intrinsics::wrapping_mul(self, rhs)
|
||||||
intrinsics::overflowing_mul(self, rhs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] {
|
|
||||||
intrinsics::wrapping_mul(self, rhs)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
doc_comment! {
|
doc_comment! {
|
||||||
|
@ -71,7 +71,6 @@ pub fn panic_fmt(fmt: fmt::Arguments<'_>, file_line_col: &(&'static str, u32, u3
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NOTE This function never crosses the FFI boundary; it's a Rust-to-Rust call
|
// NOTE This function never crosses the FFI boundary; it's a Rust-to-Rust call
|
||||||
#[cfg_attr(bootstrap, allow(improper_ctypes))]
|
|
||||||
extern "Rust" {
|
extern "Rust" {
|
||||||
#[lang = "panic_impl"]
|
#[lang = "panic_impl"]
|
||||||
fn panic_impl(pi: &PanicInfo<'_>) -> !;
|
fn panic_impl(pi: &PanicInfo<'_>) -> !;
|
||||||
|
@ -62,9 +62,8 @@ impl<T> [T] {
|
|||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[inline]
|
#[inline]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_slice_len"))]
|
|
||||||
// SAFETY: const sound because we transmute out the length field as a usize (which it must be)
|
// SAFETY: const sound because we transmute out the length field as a usize (which it must be)
|
||||||
#[cfg_attr(not(bootstrap), allow_internal_unstable(const_fn_union))]
|
#[allow_internal_unstable(const_fn_union)]
|
||||||
pub const fn len(&self) -> usize {
|
pub const fn len(&self) -> usize {
|
||||||
unsafe {
|
unsafe {
|
||||||
crate::ptr::Repr { rust: self }.raw.len
|
crate::ptr::Repr { rust: self }.raw.len
|
||||||
@ -81,7 +80,6 @@ impl<T> [T] {
|
|||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[inline]
|
#[inline]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_slice_len"))]
|
|
||||||
pub const fn is_empty(&self) -> bool {
|
pub const fn is_empty(&self) -> bool {
|
||||||
self.len() == 0
|
self.len() == 0
|
||||||
}
|
}
|
||||||
|
@ -2090,7 +2090,6 @@ impl str {
|
|||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[inline]
|
#[inline]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_str_len"))]
|
|
||||||
pub const fn len(&self) -> usize {
|
pub const fn len(&self) -> usize {
|
||||||
self.as_bytes().len()
|
self.as_bytes().len()
|
||||||
}
|
}
|
||||||
@ -2110,7 +2109,6 @@ impl str {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_str_len"))]
|
|
||||||
pub const fn is_empty(&self) -> bool {
|
pub const fn is_empty(&self) -> bool {
|
||||||
self.len() == 0
|
self.len() == 0
|
||||||
}
|
}
|
||||||
@ -2168,9 +2166,8 @@ impl str {
|
|||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[cfg_attr(bootstrap, rustc_const_unstable(feature = "const_str_as_bytes"))]
|
|
||||||
// SAFETY: const sound because we transmute two types with the same layout
|
// SAFETY: const sound because we transmute two types with the same layout
|
||||||
#[cfg_attr(not(bootstrap), allow_internal_unstable(const_fn_union))]
|
#[allow_internal_unstable(const_fn_union)]
|
||||||
pub const fn as_bytes(&self) -> &[u8] {
|
pub const fn as_bytes(&self) -> &[u8] {
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
union Slices<'a> {
|
union Slices<'a> {
|
||||||
|
@ -227,7 +227,7 @@ pub mod token_stream {
|
|||||||
/// To quote `$` itself, use `$$`.
|
/// To quote `$` itself, use `$$`.
|
||||||
#[unstable(feature = "proc_macro_quote", issue = "54722")]
|
#[unstable(feature = "proc_macro_quote", issue = "54722")]
|
||||||
#[allow_internal_unstable(proc_macro_def_site)]
|
#[allow_internal_unstable(proc_macro_def_site)]
|
||||||
#[cfg_attr(not(bootstrap), rustc_builtin_macro)]
|
#[rustc_builtin_macro]
|
||||||
pub macro quote ($($t:tt)*) { /* compiler built-in */ }
|
pub macro quote ($($t:tt)*) { /* compiler built-in */ }
|
||||||
|
|
||||||
#[unstable(feature = "proc_macro_internals", issue = "27812")]
|
#[unstable(feature = "proc_macro_internals", issue = "27812")]
|
||||||
|
@ -974,7 +974,7 @@ pub struct FreeRegionInfo {
|
|||||||
///
|
///
|
||||||
/// [rustc guide]: https://rust-lang.github.io/rustc-guide/ty.html
|
/// [rustc guide]: https://rust-lang.github.io/rustc-guide/ty.html
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
#[cfg_attr(not(bootstrap), rustc_diagnostic_item = "TyCtxt")]
|
#[rustc_diagnostic_item = "TyCtxt"]
|
||||||
pub struct TyCtxt<'tcx> {
|
pub struct TyCtxt<'tcx> {
|
||||||
gcx: &'tcx GlobalCtxt<'tcx>,
|
gcx: &'tcx GlobalCtxt<'tcx>,
|
||||||
}
|
}
|
||||||
|
@ -581,7 +581,7 @@ impl<'a, 'tcx> HashStable<StableHashingContext<'a>> for ty::TyS<'tcx> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(not(bootstrap), rustc_diagnostic_item = "Ty")]
|
#[rustc_diagnostic_item = "Ty"]
|
||||||
pub type Ty<'tcx> = &'tcx TyS<'tcx>;
|
pub type Ty<'tcx> = &'tcx TyS<'tcx>;
|
||||||
|
|
||||||
impl<'tcx> rustc_serialize::UseSpecializedEncodable for Ty<'tcx> {}
|
impl<'tcx> rustc_serialize::UseSpecializedEncodable for Ty<'tcx> {}
|
||||||
|
@ -86,7 +86,7 @@ impl BoundRegion {
|
|||||||
/// AST structure in `libsyntax/ast.rs` as well.
|
/// AST structure in `libsyntax/ast.rs` as well.
|
||||||
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
|
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
|
||||||
RustcEncodable, RustcDecodable, HashStable, Debug)]
|
RustcEncodable, RustcDecodable, HashStable, Debug)]
|
||||||
#[cfg_attr(not(bootstrap), rustc_diagnostic_item = "TyKind")]
|
#[rustc_diagnostic_item = "TyKind"]
|
||||||
pub enum TyKind<'tcx> {
|
pub enum TyKind<'tcx> {
|
||||||
/// The primitive boolean type. Written as `bool`.
|
/// The primitive boolean type. Written as `bool`.
|
||||||
Bool,
|
Bool,
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
#![feature(in_band_lifetimes)]
|
#![feature(in_band_lifetimes)]
|
||||||
#![feature(nll)]
|
#![feature(nll)]
|
||||||
#![cfg_attr(bootstrap, feature(bind_by_move_pattern_guards))]
|
|
||||||
|
|
||||||
#![recursion_limit="256"]
|
#![recursion_limit="256"]
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
|
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
|
||||||
html_playground_url = "https://play.rust-lang.org/")]
|
html_playground_url = "https://play.rust-lang.org/")]
|
||||||
|
|
||||||
#![cfg_attr(bootstrap, feature(bind_by_move_pattern_guards))]
|
|
||||||
#![feature(rustc_private)]
|
#![feature(rustc_private)]
|
||||||
#![feature(arbitrary_self_types)]
|
#![feature(arbitrary_self_types)]
|
||||||
#![feature(box_patterns)]
|
#![feature(box_patterns)]
|
||||||
|
@ -238,7 +238,6 @@
|
|||||||
#![feature(array_error_internals)]
|
#![feature(array_error_internals)]
|
||||||
#![feature(asm)]
|
#![feature(asm)]
|
||||||
#![feature(associated_type_bounds)]
|
#![feature(associated_type_bounds)]
|
||||||
#![cfg_attr(bootstrap, feature(bind_by_move_pattern_guards))]
|
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(c_variadic)]
|
#![feature(c_variadic)]
|
||||||
#![feature(cfg_target_has_atomic)]
|
#![feature(cfg_target_has_atomic)]
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
|
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
|
||||||
test(attr(deny(warnings))))]
|
test(attr(deny(warnings))))]
|
||||||
|
|
||||||
#![cfg_attr(bootstrap, feature(bind_by_move_pattern_guards))]
|
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
#![feature(const_fn)]
|
#![feature(const_fn)]
|
||||||
#![feature(const_transmute)]
|
#![feature(const_transmute)]
|
||||||
|
Loading…
Reference in New Issue
Block a user