mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-03 02:23:20 +00:00
Bump to 1.48 bootstrap compiler
This commit is contained in:
parent
4437b4b150
commit
d8c035abbf
@ -1072,7 +1072,7 @@ extern "rust-intrinsic" {
|
|||||||
// NOTE: While this makes the intrinsic const stable, we have some custom code in const fn
|
// NOTE: While this makes the intrinsic const stable, we have some custom code in const fn
|
||||||
// checks that prevent its use within `const fn`.
|
// checks that prevent its use within `const fn`.
|
||||||
#[rustc_const_stable(feature = "const_transmute", since = "1.46.0")]
|
#[rustc_const_stable(feature = "const_transmute", since = "1.46.0")]
|
||||||
#[cfg_attr(not(bootstrap), rustc_diagnostic_item = "transmute")]
|
#[rustc_diagnostic_item = "transmute"]
|
||||||
pub fn transmute<T, U>(e: T) -> U;
|
pub fn transmute<T, U>(e: T) -> U;
|
||||||
|
|
||||||
/// Returns `true` if the actual type given as `T` requires drop
|
/// Returns `true` if the actual type given as `T` requires drop
|
||||||
|
@ -84,8 +84,8 @@
|
|||||||
#![feature(const_fn_union)]
|
#![feature(const_fn_union)]
|
||||||
#![feature(const_assume)]
|
#![feature(const_assume)]
|
||||||
#![cfg_attr(not(bootstrap), feature(const_impl_trait))]
|
#![cfg_attr(not(bootstrap), feature(const_impl_trait))]
|
||||||
#![cfg_attr(not(bootstrap), feature(const_fn_floating_point_arithmetic))]
|
#![feature(const_fn_floating_point_arithmetic)]
|
||||||
#![cfg_attr(not(bootstrap), feature(const_fn_fn_ptr_basics))]
|
#![feature(const_fn_fn_ptr_basics)]
|
||||||
#![feature(const_generics)]
|
#![feature(const_generics)]
|
||||||
#![feature(const_option)]
|
#![feature(const_option)]
|
||||||
#![feature(const_precise_live_drops)]
|
#![feature(const_precise_live_drops)]
|
||||||
@ -133,7 +133,6 @@
|
|||||||
#![feature(untagged_unions)]
|
#![feature(untagged_unions)]
|
||||||
#![feature(unwind_attributes)]
|
#![feature(unwind_attributes)]
|
||||||
#![feature(variant_count)]
|
#![feature(variant_count)]
|
||||||
#![cfg_attr(bootstrap, feature(doc_alias))]
|
|
||||||
#![feature(tbm_target_feature)]
|
#![feature(tbm_target_feature)]
|
||||||
#![feature(sse4a_target_feature)]
|
#![feature(sse4a_target_feature)]
|
||||||
#![feature(arm_target_feature)]
|
#![feature(arm_target_feature)]
|
||||||
|
@ -79,7 +79,6 @@ pub use index::check_range;
|
|||||||
#[lang = "slice"]
|
#[lang = "slice"]
|
||||||
#[cfg(not(test))]
|
#[cfg(not(test))]
|
||||||
impl<T> [T] {
|
impl<T> [T] {
|
||||||
#[cfg(not(bootstrap))] // Unused in bootstrap
|
|
||||||
/// The maximum, inclusive, length such that the slice is no larger than `isize::MAX` bytes.
|
/// The maximum, inclusive, length such that the slice is no larger than `isize::MAX` bytes.
|
||||||
/// This constant is used in `len` below.
|
/// This constant is used in `len` below.
|
||||||
const MAX_LEN_BOUND: usize = {
|
const MAX_LEN_BOUND: usize = {
|
||||||
@ -108,15 +107,12 @@ impl<T> [T] {
|
|||||||
// Only `std` can make this guarantee.
|
// Only `std` can make this guarantee.
|
||||||
let raw_len = unsafe { crate::ptr::Repr { rust: self }.raw.len };
|
let raw_len = unsafe { crate::ptr::Repr { rust: self }.raw.len };
|
||||||
|
|
||||||
#[cfg(not(bootstrap))] // FIXME: executing assume in const eval not supported in bootstrap
|
|
||||||
// SAFETY: this assume asserts that `raw_len * size_of::<T>() <= isize::MAX`. All
|
// SAFETY: this assume asserts that `raw_len * size_of::<T>() <= isize::MAX`. All
|
||||||
// references must point to one allocation with size at most isize::MAX. Note that we the
|
// references must point to one allocation with size at most isize::MAX. Note that we the
|
||||||
// multiplication could appear to overflow until we have assumed the bound. This overflow
|
// multiplication could appear to overflow until we have assumed the bound. This overflow
|
||||||
// would make additional values appear 'valid' and then `n > 1` the range of permissible
|
// would make additional values appear 'valid' and then `n > 1` the range of permissible
|
||||||
// length would no longer be the full or even a single range.
|
// length would no longer be the full or even a single range.
|
||||||
unsafe {
|
unsafe { crate::intrinsics::assume(raw_len <= Self::MAX_LEN_BOUND) };
|
||||||
crate::intrinsics::assume(raw_len <= Self::MAX_LEN_BOUND)
|
|
||||||
};
|
|
||||||
|
|
||||||
raw_len
|
raw_len
|
||||||
}
|
}
|
||||||
|
@ -130,8 +130,7 @@ impl RawWakerVTable {
|
|||||||
#[rustc_promotable]
|
#[rustc_promotable]
|
||||||
#[stable(feature = "futures_api", since = "1.36.0")]
|
#[stable(feature = "futures_api", since = "1.36.0")]
|
||||||
#[rustc_const_stable(feature = "futures_api", since = "1.36.0")]
|
#[rustc_const_stable(feature = "futures_api", since = "1.36.0")]
|
||||||
#[cfg_attr(not(bootstrap), allow_internal_unstable(const_fn_fn_ptr_basics))]
|
#[allow_internal_unstable(const_fn_fn_ptr_basics)]
|
||||||
#[cfg_attr(bootstrap, rustc_allow_const_fn_ptr)]
|
|
||||||
pub const fn new(
|
pub const fn new(
|
||||||
clone: unsafe fn(*const ()) -> RawWaker,
|
clone: unsafe fn(*const ()) -> RawWaker,
|
||||||
wake: unsafe fn(*const ()),
|
wake: unsafe fn(*const ()),
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#![feature(nll)]
|
#![feature(nll)]
|
||||||
#![feature(staged_api)]
|
#![feature(staged_api)]
|
||||||
#![feature(const_fn)]
|
#![feature(const_fn)]
|
||||||
#![cfg_attr(not(bootstrap), feature(const_fn_fn_ptr_basics))]
|
#![feature(const_fn_fn_ptr_basics)]
|
||||||
#![feature(allow_internal_unstable)]
|
#![feature(allow_internal_unstable)]
|
||||||
#![feature(decl_macro)]
|
#![feature(decl_macro)]
|
||||||
#![feature(extern_types)]
|
#![feature(extern_types)]
|
||||||
|
@ -237,10 +237,10 @@
|
|||||||
#![feature(clamp)]
|
#![feature(clamp)]
|
||||||
#![feature(concat_idents)]
|
#![feature(concat_idents)]
|
||||||
#![feature(const_cstr_unchecked)]
|
#![feature(const_cstr_unchecked)]
|
||||||
#![cfg_attr(not(bootstrap), feature(const_fn_floating_point_arithmetic))]
|
#![feature(const_fn_floating_point_arithmetic)]
|
||||||
#![feature(const_fn_transmute)]
|
#![feature(const_fn_transmute)]
|
||||||
#![feature(const_fn)]
|
#![feature(const_fn)]
|
||||||
#![cfg_attr(not(bootstrap), feature(const_fn_fn_ptr_basics))]
|
#![feature(const_fn_fn_ptr_basics)]
|
||||||
#![feature(const_ip)]
|
#![feature(const_ip)]
|
||||||
#![feature(const_ipv6)]
|
#![feature(const_ipv6)]
|
||||||
#![feature(const_raw_ptr_deref)]
|
#![feature(const_raw_ptr_deref)]
|
||||||
@ -249,7 +249,6 @@
|
|||||||
#![feature(core_intrinsics)]
|
#![feature(core_intrinsics)]
|
||||||
#![feature(custom_test_frameworks)]
|
#![feature(custom_test_frameworks)]
|
||||||
#![feature(decl_macro)]
|
#![feature(decl_macro)]
|
||||||
#![cfg_attr(bootstrap, feature(doc_alias))]
|
|
||||||
#![feature(doc_cfg)]
|
#![feature(doc_cfg)]
|
||||||
#![feature(doc_keyword)]
|
#![feature(doc_keyword)]
|
||||||
#![feature(doc_masked)]
|
#![feature(doc_masked)]
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
# source tarball for a stable release you'll likely see `1.x.0` for rustc and
|
# source tarball for a stable release you'll likely see `1.x.0` for rustc and
|
||||||
# `0.(x+1).0` for Cargo where they were released on `date`.
|
# `0.(x+1).0` for Cargo where they were released on `date`.
|
||||||
|
|
||||||
date: 2020-08-26
|
date: 2020-10-07
|
||||||
rustc: beta
|
rustc: beta
|
||||||
cargo: beta
|
cargo: beta
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ cargo: beta
|
|||||||
# bootstrapping issues with use of new syntax in this repo. If you're looking at
|
# bootstrapping issues with use of new syntax in this repo. If you're looking at
|
||||||
# the beta/stable branch, this key should be omitted, as we don't want to depend
|
# the beta/stable branch, this key should be omitted, as we don't want to depend
|
||||||
# on rustfmt from nightly there.
|
# on rustfmt from nightly there.
|
||||||
rustfmt: nightly-2020-07-12
|
rustfmt: nightly-2020-10-07
|
||||||
|
|
||||||
# When making a stable release the process currently looks like:
|
# When making a stable release the process currently looks like:
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user