mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
remove cfg(bootstrap)
This commit is contained in:
parent
317cab9bef
commit
3975d55d98
@ -3046,7 +3046,6 @@ mod size_asserts {
|
||||
static_assert_size!(Block, 48);
|
||||
static_assert_size!(Expr, 104);
|
||||
static_assert_size!(ExprKind, 72);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(Fn, 184);
|
||||
static_assert_size!(ForeignItem, 96);
|
||||
static_assert_size!(ForeignItemKind, 24);
|
||||
|
@ -13,9 +13,7 @@
|
||||
#![feature(const_default_impls)]
|
||||
#![feature(const_trait_impl)]
|
||||
#![feature(if_let_guard)]
|
||||
#![cfg_attr(bootstrap, feature(label_break_value))]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(negative_impls)]
|
||||
#![feature(slice_internals)]
|
||||
|
@ -32,7 +32,6 @@
|
||||
|
||||
#![feature(box_patterns)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(never_type)]
|
||||
#![recursion_limit = "256"]
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
|
@ -9,7 +9,6 @@
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(iter_is_partitioned)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![recursion_limit = "256"]
|
||||
|
||||
#[macro_use]
|
||||
|
@ -5,7 +5,6 @@
|
||||
//! to this crate.
|
||||
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![deny(rustc::untranslatable_diagnostic)]
|
||||
#![deny(rustc::diagnostic_outside_of_impl)]
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
#![feature(box_patterns)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
#![feature(rustc_attrs)]
|
||||
|
@ -9,7 +9,6 @@
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(is_sorted)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(proc_macro_internals)]
|
||||
#![feature(proc_macro_quote)]
|
||||
#![recursion_limit = "256"]
|
||||
|
@ -7,7 +7,6 @@
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(hash_raw_entry)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(extern_types)]
|
||||
#![feature(once_cell)]
|
||||
#![feature(iter_intersperse)]
|
||||
|
@ -1,7 +1,6 @@
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(box_patterns)]
|
||||
#![feature(try_blocks)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(once_cell)]
|
||||
#![feature(associated_type_bounds)]
|
||||
#![feature(strict_provenance)]
|
||||
|
@ -784,7 +784,7 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||
}
|
||||
|
||||
// Some nodes are used a lot. Make sure they don't unintentionally get bigger.
|
||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64", not(bootstrap)))]
|
||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||
mod size_asserts {
|
||||
use super::*;
|
||||
use rustc_data_structures::static_assert_size;
|
||||
|
@ -890,8 +890,6 @@ mod size_asserts {
|
||||
static_assert_size!(MemPlaceMeta, 24);
|
||||
static_assert_size!(MemPlace, 40);
|
||||
static_assert_size!(MPlaceTy<'_>, 64);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(Place, 40);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(PlaceTy<'_>, 64);
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ Rust MIR: a lowered representation of Rust.
|
||||
#![feature(decl_macro)]
|
||||
#![feature(exact_size_is_empty)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(map_try_insert)]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(slice_ptr_get)]
|
||||
|
@ -13,7 +13,6 @@
|
||||
#![feature(cell_leak)]
|
||||
#![feature(control_flow_enum)]
|
||||
#![feature(extend_one)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(hash_raw_entry)]
|
||||
#![feature(hasher_prefixfree_extras)]
|
||||
#![feature(maybe_uninit_uninit_array)]
|
||||
|
@ -5,7 +5,6 @@
|
||||
//! This API is completely unstable and subject to change.
|
||||
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(once_cell)]
|
||||
#![recursion_limit = "256"]
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
|
@ -7,7 +7,6 @@
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(adt_const_params)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(never_type)]
|
||||
#![feature(result_option_inspect)]
|
||||
#![feature(rustc_attrs)]
|
||||
@ -69,7 +68,7 @@ pub type PResult<'a, T> = Result<T, DiagnosticBuilder<'a, ErrorGuaranteed>>;
|
||||
// (See also the comment on `DiagnosticBuilder`'s `diagnostic` field.)
|
||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||
rustc_data_structures::static_assert_size!(PResult<'_, ()>, 16);
|
||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64", not(bootstrap)))]
|
||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||
rustc_data_structures::static_assert_size!(PResult<'_, bool>, 16);
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, Encodable, Decodable)]
|
||||
|
@ -3,7 +3,6 @@
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(macro_metavar_expr)]
|
||||
#![feature(proc_macro_diagnostic)]
|
||||
#![feature(proc_macro_internals)]
|
||||
|
@ -3520,14 +3520,11 @@ mod size_asserts {
|
||||
static_assert_size!(FnDecl<'_>, 40);
|
||||
static_assert_size!(ForeignItem<'_>, 72);
|
||||
static_assert_size!(ForeignItemKind<'_>, 40);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(GenericArg<'_>, 24);
|
||||
static_assert_size!(GenericBound<'_>, 48);
|
||||
static_assert_size!(Generics<'_>, 56);
|
||||
static_assert_size!(Impl<'_>, 80);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(ImplItem<'_>, 80);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(ImplItemKind<'_>, 32);
|
||||
static_assert_size!(Item<'_>, 80);
|
||||
static_assert_size!(ItemKind<'_>, 48);
|
||||
@ -3540,9 +3537,7 @@ mod size_asserts {
|
||||
static_assert_size!(QPath<'_>, 24);
|
||||
static_assert_size!(Stmt<'_>, 32);
|
||||
static_assert_size!(StmtKind<'_>, 16);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(TraitItem<'_>, 88);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(TraitItemKind<'_>, 48);
|
||||
static_assert_size!(Ty<'_>, 48);
|
||||
static_assert_size!(TyKind<'_>, 32);
|
||||
|
@ -5,7 +5,6 @@
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(closure_track_caller)]
|
||||
#![feature(const_btree_len)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(once_cell)]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
#![deny(missing_docs)]
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![recursion_limit = "256"]
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
#![feature(allow_internal_unstable)]
|
||||
#![feature(bench_black_box)]
|
||||
#![feature(extend_one)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(new_uninit)]
|
||||
#![feature(step_trait)]
|
||||
|
@ -17,9 +17,7 @@
|
||||
#![feature(box_patterns)]
|
||||
#![feature(control_flow_enum)]
|
||||
#![feature(extend_one)]
|
||||
#![cfg_attr(bootstrap, feature(label_break_value))]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
|
@ -1,5 +1,4 @@
|
||||
#![feature(box_patterns)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(internal_output_capture)]
|
||||
#![feature(thread_spawn_unchecked)]
|
||||
#![feature(once_cell)]
|
||||
|
@ -34,7 +34,7 @@
|
||||
#![feature(iter_intersperse)]
|
||||
#![feature(iter_order_by)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
#![recursion_limit = "256"]
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
#![feature(allow_internal_unstable)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(never_type)]
|
||||
#![feature(proc_macro_diagnostic)]
|
||||
#![feature(proc_macro_span)]
|
||||
|
@ -2,10 +2,8 @@
|
||||
#![feature(decl_macro)]
|
||||
#![feature(drain_filter)]
|
||||
#![feature(generators)]
|
||||
#![cfg_attr(bootstrap, feature(generic_associated_types))]
|
||||
#![feature(iter_from_generator)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(once_cell)]
|
||||
#![feature(proc_macro_internals)]
|
||||
#![feature(macro_metavar_expr)]
|
||||
|
@ -31,7 +31,6 @@
|
||||
#![feature(discriminant_kind)]
|
||||
#![feature(exhaustive_patterns)]
|
||||
#![feature(get_mut_unchecked)]
|
||||
#![cfg_attr(bootstrap, feature(generic_associated_types))]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(map_first_last)]
|
||||
#![feature(negative_impls)]
|
||||
@ -40,7 +39,6 @@
|
||||
#![feature(new_uninit)]
|
||||
#![feature(once_cell)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(trusted_len)]
|
||||
#![feature(type_alias_impl_trait)]
|
||||
|
@ -1242,7 +1242,6 @@ pub enum BinOp {
|
||||
mod size_asserts {
|
||||
use super::*;
|
||||
// These are in alphabetical order, which is easy to maintain.
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(AggregateKind<'_>, 40);
|
||||
static_assert_size!(Operand<'_>, 24);
|
||||
static_assert_size!(Place<'_>, 16);
|
||||
|
@ -852,12 +852,8 @@ mod size_asserts {
|
||||
static_assert_size!(Block, 56);
|
||||
static_assert_size!(Expr<'_>, 64);
|
||||
static_assert_size!(ExprKind<'_>, 40);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(Pat<'_>, 72);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(PatKind<'_>, 56);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(Stmt<'_>, 48);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(StmtKind<'_>, 40);
|
||||
}
|
||||
|
@ -6,7 +6,6 @@
|
||||
#![feature(control_flow_enum)]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(once_cell)]
|
||||
#![recursion_limit = "256"]
|
||||
|
@ -1,7 +1,6 @@
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(box_patterns)]
|
||||
#![feature(exact_size_is_empty)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(once_cell)]
|
||||
#![feature(stmt_expr_attributes)]
|
||||
|
@ -1,7 +1,6 @@
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
#![feature(box_patterns)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(map_try_insert)]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
|
@ -1,6 +1,5 @@
|
||||
#![feature(array_windows)]
|
||||
#![feature(control_flow_enum)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![recursion_limit = "256"]
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
#![deny(rustc::untranslatable_diagnostic)]
|
||||
|
@ -4,7 +4,6 @@
|
||||
#![feature(box_patterns)]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(never_type)]
|
||||
#![feature(rustc_attrs)]
|
||||
#![recursion_limit = "256"]
|
||||
|
@ -8,7 +8,6 @@
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(iter_intersperse)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(map_try_insert)]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(try_blocks)]
|
||||
|
@ -1,7 +1,6 @@
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(control_flow_enum)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(rustc_private)]
|
||||
#![feature(try_blocks)]
|
||||
#![recursion_limit = "256"]
|
||||
|
@ -1,7 +1,6 @@
|
||||
#![feature(assert_matches)]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(hash_raw_entry)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(extern_types)]
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
|
@ -12,7 +12,6 @@
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(iter_intersperse)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(never_type)]
|
||||
#![recursion_limit = "256"]
|
||||
#![allow(rustdoc::private_intra_doc_links)]
|
||||
|
@ -1,6 +1,5 @@
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(if_let_guard)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![recursion_limit = "256"]
|
||||
#![allow(rustc::potential_query_instability)]
|
||||
#![feature(never_type)]
|
||||
|
@ -14,7 +14,6 @@ Core encoding and decoding interfaces.
|
||||
#![feature(min_specialization)]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(maybe_uninit_slice)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(new_uninit)]
|
||||
#![feature(allocator_api)]
|
||||
#![cfg_attr(test, feature(test))]
|
||||
|
@ -1,6 +1,5 @@
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
#![feature(once_cell)]
|
||||
|
@ -15,7 +15,6 @@
|
||||
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(array_windows)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(negative_impls)]
|
||||
#![feature(min_specialization)]
|
||||
|
@ -11,7 +11,6 @@
|
||||
#![feature(assert_matches)]
|
||||
#![feature(associated_type_bounds)]
|
||||
#![feature(exhaustive_patterns)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
#![feature(rustc_attrs)]
|
||||
|
@ -16,9 +16,7 @@
|
||||
#![feature(control_flow_enum)]
|
||||
#![feature(drain_filter)]
|
||||
#![feature(hash_drain_filter)]
|
||||
#![cfg_attr(bootstrap, feature(label_break_value))]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(never_type)]
|
||||
#![feature(type_alias_impl_trait)]
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
#![deny(rustc::untranslatable_diagnostic)]
|
||||
#![deny(rustc::diagnostic_outside_of_impl)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![recursion_limit = "256"]
|
||||
|
||||
#[macro_use]
|
||||
|
@ -6,7 +6,6 @@
|
||||
|
||||
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
||||
#![feature(control_flow_enum)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(never_type)]
|
||||
#![feature(box_patterns)]
|
||||
#![recursion_limit = "256"]
|
||||
|
@ -64,9 +64,7 @@ This API is completely unstable and subject to change.
|
||||
#![feature(if_let_guard)]
|
||||
#![feature(is_sorted)]
|
||||
#![feature(iter_intersperse)]
|
||||
#![cfg_attr(bootstrap, feature(label_break_value))]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(never_type)]
|
||||
#![feature(once_cell)]
|
||||
|
@ -151,7 +151,6 @@ use core::async_iter::AsyncIterator;
|
||||
use core::borrow;
|
||||
use core::cmp::Ordering;
|
||||
use core::convert::{From, TryFrom};
|
||||
#[cfg(not(bootstrap))]
|
||||
use core::error::Error;
|
||||
use core::fmt;
|
||||
use core::future::Future;
|
||||
@ -176,7 +175,6 @@ use crate::borrow::Cow;
|
||||
use crate::raw_vec::RawVec;
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
use crate::str::from_boxed_utf8_unchecked;
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
use crate::string::String;
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
@ -2090,7 +2088,6 @@ impl<S: ?Sized + AsyncIterator + Unpin> AsyncIterator for Box<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
impl dyn Error {
|
||||
#[inline]
|
||||
#[stable(feature = "error_downcast", since = "1.3.0")]
|
||||
@ -2108,7 +2105,6 @@ impl dyn Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
impl dyn Error + Send {
|
||||
#[inline]
|
||||
#[stable(feature = "error_downcast", since = "1.3.0")]
|
||||
@ -2123,7 +2119,6 @@ impl dyn Error + Send {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
impl dyn Error + Send + Sync {
|
||||
#[inline]
|
||||
#[stable(feature = "error_downcast", since = "1.3.0")]
|
||||
@ -2138,7 +2133,6 @@ impl dyn Error + Send + Sync {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a> {
|
||||
@ -2172,7 +2166,6 @@ impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a> {
|
||||
@ -2212,7 +2205,6 @@ impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync +
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl From<String> for Box<dyn Error + Send + Sync> {
|
||||
@ -2257,7 +2249,6 @@ impl From<String> for Box<dyn Error + Send + Sync> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "string_box_error", since = "1.6.0")]
|
||||
impl From<String> for Box<dyn Error> {
|
||||
@ -2280,7 +2271,6 @@ impl From<String> for Box<dyn Error> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a> {
|
||||
@ -2305,7 +2295,6 @@ impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "string_box_error", since = "1.6.0")]
|
||||
impl From<&str> for Box<dyn Error> {
|
||||
@ -2328,7 +2317,6 @@ impl From<&str> for Box<dyn Error> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "cow_box_error", since = "1.22.0")]
|
||||
impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a> {
|
||||
@ -2351,7 +2339,6 @@ impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "cow_box_error", since = "1.22.0")]
|
||||
impl<'a> From<Cow<'a, str>> for Box<dyn Error> {
|
||||
@ -2373,7 +2360,6 @@ impl<'a> From<Cow<'a, str>> for Box<dyn Error> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "box_error", since = "1.8.0")]
|
||||
impl<T: core::error::Error> core::error::Error for Box<T> {
|
||||
#[allow(deprecated, deprecated_in_future)]
|
||||
|
@ -2,7 +2,6 @@
|
||||
// https://github.com/matthieu-m/rfc2580/blob/b58d1d3cba0d4b5e859d3617ea2d0943aaa31329/examples/thin.rs
|
||||
// by matthieu-m
|
||||
use crate::alloc::{self, Layout, LayoutError};
|
||||
#[cfg(not(bootstrap))]
|
||||
use core::error::Error;
|
||||
use core::fmt::{self, Debug, Display, Formatter};
|
||||
use core::marker::PhantomData;
|
||||
@ -274,7 +273,6 @@ impl<H> WithHeader<H> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[unstable(feature = "thin_box", issue = "92791")]
|
||||
impl<T: ?Sized + Error> Error for ThinBox<T> {
|
||||
fn source(&self) -> Option<&(dyn Error + 'static)> {
|
||||
|
@ -133,7 +133,6 @@ impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> fmt::Display
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[unstable(feature = "map_try_insert", issue = "82766")]
|
||||
impl<'a, K: core::fmt::Debug + Ord, V: core::fmt::Debug> core::error::Error
|
||||
for crate::collections::btree_map::OccupiedError<'a, K, V>
|
||||
|
@ -153,6 +153,5 @@ trait SpecExtend<I: IntoIterator> {
|
||||
fn spec_extend(&mut self, iter: I);
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "try_reserve", since = "1.57.0")]
|
||||
impl core::error::Error for TryReserveError {}
|
||||
|
@ -1122,7 +1122,6 @@ impl CStr {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl core::error::Error for NulError {
|
||||
#[allow(deprecated)]
|
||||
@ -1131,11 +1130,9 @@ impl core::error::Error for NulError {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "cstring_from_vec_with_nul", since = "1.58.0")]
|
||||
impl core::error::Error for FromVecWithNulError {}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "cstring_into", since = "1.7.0")]
|
||||
impl core::error::Error for IntoStringError {
|
||||
#[allow(deprecated)]
|
||||
|
@ -114,8 +114,8 @@
|
||||
#![feature(const_waker)]
|
||||
#![feature(cstr_from_bytes_until_nul)]
|
||||
#![feature(dispatch_from_dyn)]
|
||||
#![cfg_attr(not(bootstrap), feature(error_generic_member_access))]
|
||||
#![cfg_attr(not(bootstrap), feature(error_in_core))]
|
||||
#![feature(error_generic_member_access)]
|
||||
#![feature(error_in_core)]
|
||||
#![feature(exact_size_is_empty)]
|
||||
#![feature(extend_one)]
|
||||
#![feature(fmt_internals)]
|
||||
@ -132,7 +132,7 @@
|
||||
#![feature(nonnull_slice_from_raw_parts)]
|
||||
#![feature(pattern)]
|
||||
#![feature(pointer_byte_offsets)]
|
||||
#![cfg_attr(not(bootstrap), feature(provide_any))]
|
||||
#![feature(provide_any)]
|
||||
#![feature(ptr_internals)]
|
||||
#![feature(ptr_metadata)]
|
||||
#![feature(ptr_sub_ptr)]
|
||||
@ -173,7 +173,6 @@
|
||||
#![cfg_attr(not(test), feature(generator_trait))]
|
||||
#![feature(hashmap_internals)]
|
||||
#![feature(lang_items)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(min_specialization)]
|
||||
#![feature(negative_impls)]
|
||||
#![feature(never_type)]
|
||||
|
@ -44,7 +44,6 @@
|
||||
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
use core::char::{decode_utf16, REPLACEMENT_CHARACTER};
|
||||
#[cfg(not(bootstrap))]
|
||||
use core::error::Error;
|
||||
use core::fmt;
|
||||
use core::hash;
|
||||
@ -1941,7 +1940,6 @@ impl fmt::Display for FromUtf16Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl Error for FromUtf8Error {
|
||||
#[allow(deprecated)]
|
||||
@ -1950,7 +1948,6 @@ impl Error for FromUtf8Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl Error for FromUtf16Error {
|
||||
#[allow(deprecated)]
|
||||
|
@ -2764,7 +2764,6 @@ fn data_offset_align(align: usize) -> usize {
|
||||
layout.size() + layout.padding_needed_for(align)
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "arc_error", since = "1.52.0")]
|
||||
impl<T: core::error::Error + ?Sized> core::error::Error for Arc<T> {
|
||||
#[allow(deprecated, deprecated_in_future)]
|
||||
|
@ -5,7 +5,6 @@
|
||||
// Your performance intuition is useless. Run perf.
|
||||
|
||||
use crate::cmp;
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
use crate::mem::{self, ValidAlign};
|
||||
@ -463,7 +462,6 @@ pub type LayoutErr = LayoutError;
|
||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
||||
pub struct LayoutError;
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "alloc_layout", since = "1.28.0")]
|
||||
impl Error for LayoutError {}
|
||||
|
||||
|
@ -21,7 +21,6 @@ pub use self::layout::LayoutErr;
|
||||
#[stable(feature = "alloc_layout_error", since = "1.50.0")]
|
||||
pub use self::layout::LayoutError;
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
use crate::ptr::{self, NonNull};
|
||||
@ -34,7 +33,6 @@ use crate::ptr::{self, NonNull};
|
||||
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
|
||||
pub struct AllocError;
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[unstable(
|
||||
feature = "allocator_api",
|
||||
reason = "the precise API and guarantees it provides may be tweaked.",
|
||||
|
@ -7,7 +7,6 @@
|
||||
use crate::borrow::{Borrow, BorrowMut};
|
||||
use crate::cmp::Ordering;
|
||||
use crate::convert::{Infallible, TryFrom};
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
use crate::hash::{self, Hash};
|
||||
@ -121,7 +120,6 @@ impl fmt::Display for TryFromSliceError {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "try_from", since = "1.34.0")]
|
||||
impl Error for TryFromSliceError {
|
||||
#[allow(deprecated)]
|
||||
|
@ -1,6 +1,5 @@
|
||||
//! UTF-8 and UTF-16 decoding iterators
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
|
||||
@ -124,7 +123,6 @@ impl fmt::Display for DecodeUtf16Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "decode_utf16", since = "1.9.0")]
|
||||
impl Error for DecodeUtf16Error {
|
||||
#[allow(deprecated)]
|
||||
|
@ -38,7 +38,6 @@ pub use self::methods::encode_utf16_raw;
|
||||
#[unstable(feature = "char_internals", reason = "exposed only for libstd", issue = "none")]
|
||||
pub use self::methods::encode_utf8_raw;
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt::{self, Write};
|
||||
use crate::iter::FusedIterator;
|
||||
@ -587,6 +586,5 @@ impl fmt::Display for TryFromCharError {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "u8_from_char", since = "1.59.0")]
|
||||
impl Error for TryFromCharError {}
|
||||
|
@ -34,7 +34,6 @@
|
||||
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
use crate::hash::{Hash, Hasher};
|
||||
@ -724,7 +723,6 @@ impl fmt::Display for Infallible {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "str_parse_error2", since = "1.8.0")]
|
||||
impl Error for Infallible {
|
||||
fn description(&self) -> &str {
|
||||
|
@ -54,8 +54,6 @@
|
||||
)]
|
||||
#![allow(missing_docs)]
|
||||
|
||||
#[cfg(bootstrap)]
|
||||
use crate::marker::Destruct;
|
||||
use crate::marker::DiscriminantKind;
|
||||
use crate::mem;
|
||||
|
||||
@ -1297,7 +1295,6 @@ extern "rust-intrinsic" {
|
||||
/// any safety invariants.
|
||||
///
|
||||
/// Consider using [`pointer::mask`] instead.
|
||||
#[cfg(not(bootstrap))]
|
||||
pub fn ptr_mask<T>(ptr: *const T, mask: usize) -> *const T;
|
||||
|
||||
/// Equivalent to the appropriate `llvm.memcpy.p0i8.0i8.*` intrinsic, with
|
||||
@ -2022,17 +2019,8 @@ extern "rust-intrinsic" {
|
||||
/// Therefore, implementations must not require the user to uphold
|
||||
/// any safety invariants.
|
||||
#[rustc_const_unstable(feature = "const_raw_ptr_comparison", issue = "53020")]
|
||||
#[cfg(not(bootstrap))]
|
||||
pub fn ptr_guaranteed_cmp<T>(ptr: *const T, other: *const T) -> u8;
|
||||
|
||||
#[rustc_const_unstable(feature = "const_raw_ptr_comparison", issue = "53020")]
|
||||
#[cfg(bootstrap)]
|
||||
pub fn ptr_guaranteed_eq<T>(ptr: *const T, other: *const T) -> bool;
|
||||
|
||||
#[rustc_const_unstable(feature = "const_raw_ptr_comparison", issue = "53020")]
|
||||
#[cfg(bootstrap)]
|
||||
pub fn ptr_guaranteed_ne<T>(ptr: *const T, other: *const T) -> bool;
|
||||
|
||||
/// Allocates a block of memory at compile time.
|
||||
/// At runtime, just returns a null pointer.
|
||||
///
|
||||
@ -2143,7 +2131,6 @@ extern "rust-intrinsic" {
|
||||
/// `unreachable_unchecked` is actually being reached. The bug is in *crate A*,
|
||||
/// which violates the principle that a `const fn` must behave the same at
|
||||
/// compile-time and at run-time. The unsafe code in crate B is fine.
|
||||
#[cfg(not(bootstrap))]
|
||||
#[rustc_const_unstable(feature = "const_eval_select", issue = "none")]
|
||||
pub fn const_eval_select<ARG, F, G, RET>(arg: ARG, called_in_const: F, called_at_rt: G) -> RET
|
||||
where
|
||||
@ -2216,16 +2203,6 @@ pub(crate) fn is_nonoverlapping<T>(src: *const T, dst: *const T, count: usize) -
|
||||
diff >= size
|
||||
}
|
||||
|
||||
#[cfg(bootstrap)]
|
||||
pub const fn ptr_guaranteed_cmp(a: *const (), b: *const ()) -> u8 {
|
||||
match (ptr_guaranteed_eq(a, b), ptr_guaranteed_ne(a, b)) {
|
||||
(false, false) => 2,
|
||||
(true, false) => 1,
|
||||
(false, true) => 0,
|
||||
(true, true) => unreachable!(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Copies `count * size_of::<T>()` bytes from `src` to `dst`. The source
|
||||
/// and destination must *not* overlap.
|
||||
///
|
||||
@ -2484,45 +2461,3 @@ pub const unsafe fn write_bytes<T>(dst: *mut T, val: u8, count: usize) {
|
||||
write_bytes(dst, val, count)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(bootstrap)]
|
||||
#[unstable(
|
||||
feature = "const_eval_select",
|
||||
issue = "none",
|
||||
reason = "const_eval_select will never be stable"
|
||||
)]
|
||||
#[rustc_const_unstable(feature = "const_eval_select", issue = "none")]
|
||||
#[lang = "const_eval_select"]
|
||||
#[rustc_do_not_const_check]
|
||||
#[inline]
|
||||
pub const unsafe fn const_eval_select<ARG, F, G, RET>(
|
||||
arg: ARG,
|
||||
_called_in_const: F,
|
||||
called_at_rt: G,
|
||||
) -> RET
|
||||
where
|
||||
F: ~const FnOnce<ARG, Output = RET>,
|
||||
G: FnOnce<ARG, Output = RET> + ~const Destruct,
|
||||
{
|
||||
called_at_rt.call_once(arg)
|
||||
}
|
||||
|
||||
#[cfg(bootstrap)]
|
||||
#[unstable(
|
||||
feature = "const_eval_select",
|
||||
issue = "none",
|
||||
reason = "const_eval_select will never be stable"
|
||||
)]
|
||||
#[rustc_const_unstable(feature = "const_eval_select", issue = "none")]
|
||||
#[lang = "const_eval_select_ct"]
|
||||
pub const unsafe fn const_eval_select_ct<ARG, F, G, RET>(
|
||||
arg: ARG,
|
||||
called_in_const: F,
|
||||
_called_at_rt: G,
|
||||
) -> RET
|
||||
where
|
||||
F: ~const FnOnce<ARG, Output = RET>,
|
||||
G: FnOnce<ARG, Output = RET> + ~const Destruct,
|
||||
{
|
||||
called_in_const.call_once(arg)
|
||||
}
|
||||
|
@ -310,7 +310,6 @@ pub mod clone;
|
||||
pub mod cmp;
|
||||
pub mod convert;
|
||||
pub mod default;
|
||||
#[cfg(not(bootstrap))]
|
||||
pub mod error;
|
||||
pub mod marker;
|
||||
pub mod ops;
|
||||
|
@ -806,7 +806,7 @@ pub trait Destruct {}
|
||||
/// The implementation of this trait is built-in and cannot be implemented
|
||||
/// for any user type.
|
||||
#[unstable(feature = "tuple_trait", issue = "none")]
|
||||
#[cfg_attr(not(bootstrap), lang = "tuple_trait")]
|
||||
#[lang = "tuple_trait"]
|
||||
#[rustc_on_unimplemented(message = "`{Self}` is not a tuple")]
|
||||
pub trait Tuple {}
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
/// any value of type `Self` are safely transmutable into a value of type `Dst`, in a given `Context`,
|
||||
/// notwithstanding whatever safety checks you have asked the compiler to [`Assume`] are satisfied.
|
||||
#[unstable(feature = "transmutability", issue = "99571")]
|
||||
#[cfg_attr(not(bootstrap), lang = "transmute_trait")]
|
||||
#[lang = "transmute_trait"]
|
||||
#[rustc_on_unimplemented(
|
||||
message = "`{Src}` cannot be safely transmuted into `{Self}` in the defining scope of `{Context}`.",
|
||||
label = "`{Src}` cannot be safely transmuted into `{Self}` in the defining scope of `{Context}`."
|
||||
@ -17,7 +17,7 @@ where
|
||||
|
||||
/// What transmutation safety conditions shall the compiler assume that *you* are checking?
|
||||
#[unstable(feature = "transmutability", issue = "99571")]
|
||||
#[cfg_attr(not(bootstrap), lang = "transmute_opts")]
|
||||
#[lang = "transmute_opts"]
|
||||
#[derive(PartialEq, Eq, Clone, Copy, Debug)]
|
||||
pub struct Assume {
|
||||
/// When `true`, the compiler assumes that *you* are ensuring (either dynamically or statically) that
|
||||
|
@ -1,7 +1,6 @@
|
||||
//! Error types for conversion to integral types.
|
||||
|
||||
use crate::convert::Infallible;
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
|
||||
@ -147,7 +146,6 @@ impl fmt::Display for ParseIntError {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl Error for ParseIntError {
|
||||
#[allow(deprecated)]
|
||||
@ -156,7 +154,6 @@ impl Error for ParseIntError {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "try_from", since = "1.34.0")]
|
||||
impl Error for TryFromIntError {
|
||||
#[allow(deprecated)]
|
||||
|
@ -3,7 +3,6 @@
|
||||
#![stable(feature = "rust1", since = "1.0.0")]
|
||||
|
||||
use crate::ascii;
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::intrinsics;
|
||||
use crate::mem;
|
||||
@ -59,7 +58,6 @@ pub use wrapping::Wrapping;
|
||||
#[cfg(not(no_fp_fmt_parse))]
|
||||
pub use dec2flt::ParseFloatError;
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[cfg(not(no_fp_fmt_parse))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl Error for ParseFloatError {
|
||||
|
@ -83,7 +83,6 @@ pub trait Generator<R = ()> {
|
||||
/// `return` statement or implicitly as the last expression of a generator
|
||||
/// literal. For example futures would use this as `Result<T, E>` as it
|
||||
/// represents a completed future.
|
||||
#[cfg_attr(bootstrap, lang = "generator_return")]
|
||||
type Return;
|
||||
|
||||
/// Resumes the execution of this generator.
|
||||
|
@ -223,7 +223,7 @@ pub trait Try: ~const FromResidual {
|
||||
/// Every `Try` type needs to be recreatable from its own associated
|
||||
/// `Residual` type, but can also have additional `FromResidual` implementations
|
||||
/// to support interconversion with other `Try` types.
|
||||
#[cfg_attr(not(bootstrap), rustc_on_unimplemented(
|
||||
#[rustc_on_unimplemented(
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
@ -302,87 +302,7 @@ pub trait Try: ~const FromResidual {
|
||||
label = "cannot use the `?` operator in {ItemContext} that returns `{Self}`",
|
||||
parent_label = "this function should return `Result` or `Option` to accept `?`"
|
||||
),
|
||||
))]
|
||||
#[cfg_attr(bootstrap, rustc_on_unimplemented(
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
_Self = "std::result::Result<T, E>",
|
||||
R = "std::option::Option<std::convert::Infallible>"
|
||||
),
|
||||
message = "the `?` operator can only be used on `Result`s, not `Option`s, \
|
||||
in {ItemContext} that returns `Result`",
|
||||
label = "use `.ok_or(...)?` to provide an error compatible with `{Self}`",
|
||||
enclosing_scope = "this function returns a `Result`"
|
||||
),
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
_Self = "std::result::Result<T, E>",
|
||||
),
|
||||
// There's a special error message in the trait selection code for
|
||||
// `From` in `?`, so this is not shown for result-in-result errors,
|
||||
// and thus it can be phrased more strongly than `ControlFlow`'s.
|
||||
message = "the `?` operator can only be used on `Result`s \
|
||||
in {ItemContext} that returns `Result`",
|
||||
label = "this `?` produces `{R}`, which is incompatible with `{Self}`",
|
||||
enclosing_scope = "this function returns a `Result`"
|
||||
),
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
_Self = "std::option::Option<T>",
|
||||
R = "std::result::Result<T, E>",
|
||||
),
|
||||
message = "the `?` operator can only be used on `Option`s, not `Result`s, \
|
||||
in {ItemContext} that returns `Option`",
|
||||
label = "use `.ok()?` if you want to discard the `{R}` error information",
|
||||
enclosing_scope = "this function returns an `Option`"
|
||||
),
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
_Self = "std::option::Option<T>",
|
||||
),
|
||||
// `Option`-in-`Option` always works, as there's only one possible
|
||||
// residual, so this can also be phrased strongly.
|
||||
message = "the `?` operator can only be used on `Option`s \
|
||||
in {ItemContext} that returns `Option`",
|
||||
label = "this `?` produces `{R}`, which is incompatible with `{Self}`",
|
||||
enclosing_scope = "this function returns an `Option`"
|
||||
),
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
_Self = "std::ops::ControlFlow<B, C>",
|
||||
R = "std::ops::ControlFlow<B, C>",
|
||||
),
|
||||
message = "the `?` operator in {ItemContext} that returns `ControlFlow<B, _>` \
|
||||
can only be used on other `ControlFlow<B, _>`s (with the same Break type)",
|
||||
label = "this `?` produces `{R}`, which is incompatible with `{Self}`",
|
||||
enclosing_scope = "this function returns a `ControlFlow`",
|
||||
note = "unlike `Result`, there's no `From`-conversion performed for `ControlFlow`"
|
||||
),
|
||||
on(
|
||||
all(
|
||||
from_desugaring = "QuestionMark",
|
||||
_Self = "std::ops::ControlFlow<B, C>",
|
||||
// `R` is not a `ControlFlow`, as that case was matched previously
|
||||
),
|
||||
message = "the `?` operator can only be used on `ControlFlow`s \
|
||||
in {ItemContext} that returns `ControlFlow`",
|
||||
label = "this `?` produces `{R}`, which is incompatible with `{Self}`",
|
||||
enclosing_scope = "this function returns a `ControlFlow`",
|
||||
),
|
||||
on(
|
||||
all(from_desugaring = "QuestionMark"),
|
||||
message = "the `?` operator can only be used in {ItemContext} \
|
||||
that returns `Result` or `Option` \
|
||||
(or another type that implements `{FromResidual}`)",
|
||||
label = "cannot use the `?` operator in {ItemContext} that returns `{Self}`",
|
||||
enclosing_scope = "this function should return `Result` or `Option` to accept `?`"
|
||||
),
|
||||
))]
|
||||
)]
|
||||
#[rustc_diagnostic_item = "FromResidual"]
|
||||
#[unstable(feature = "try_trait_v2", issue = "84277")]
|
||||
#[const_trait]
|
||||
|
@ -568,7 +568,6 @@ impl<T: ?Sized> *const T {
|
||||
///
|
||||
/// For non-`Sized` pointees this operation changes only the data pointer,
|
||||
/// leaving the metadata untouched.
|
||||
#[cfg(not(bootstrap))]
|
||||
#[unstable(feature = "ptr_mask", issue = "98290")]
|
||||
#[must_use = "returns a new pointer rather than modifying its argument"]
|
||||
#[inline(always)]
|
||||
|
@ -584,7 +584,6 @@ impl<T: ?Sized> *mut T {
|
||||
///
|
||||
/// For non-`Sized` pointees this operation changes only the data pointer,
|
||||
/// leaving the metadata untouched.
|
||||
#[cfg(not(bootstrap))]
|
||||
#[unstable(feature = "ptr_mask", issue = "98290")]
|
||||
#[must_use = "returns a new pointer rather than modifying its argument"]
|
||||
#[inline(always)]
|
||||
|
@ -1,6 +1,5 @@
|
||||
//! Defines utf8 error type.
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt;
|
||||
|
||||
@ -124,7 +123,6 @@ impl fmt::Display for Utf8Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl Error for Utf8Error {
|
||||
#[allow(deprecated)]
|
||||
@ -148,7 +146,6 @@ impl fmt::Display for ParseBoolError {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl Error for ParseBoolError {
|
||||
#[allow(deprecated)]
|
||||
|
@ -2642,5 +2642,4 @@ impl_fn_for_zst! {
|
||||
}
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[cfg(not(bootstrap))]
|
||||
impl !crate::error::Error for &str {}
|
||||
|
@ -9,7 +9,6 @@ use crate::borrow::Borrow;
|
||||
use crate::cell::Cell;
|
||||
use crate::collections::TryReserveError;
|
||||
use crate::collections::TryReserveErrorKind;
|
||||
#[cfg(not(bootstrap))]
|
||||
use crate::error::Error;
|
||||
use crate::fmt::{self, Debug};
|
||||
#[allow(deprecated)]
|
||||
@ -2160,7 +2159,6 @@ impl<'a, K: Debug, V: Debug> fmt::Display for OccupiedError<'a, K, V> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[unstable(feature = "map_try_insert", issue = "82766")]
|
||||
impl<'a, K: fmt::Debug, V: fmt::Debug> Error for OccupiedError<'a, K, V> {
|
||||
#[allow(deprecated)]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -76,7 +76,6 @@ impl fmt::Debug for Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(bootstrap))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl From<alloc::ffi::NulError> for Error {
|
||||
/// Converts a [`alloc::ffi::NulError`] into a [`Error`].
|
||||
|
@ -252,10 +252,8 @@
|
||||
#![feature(dropck_eyepatch)]
|
||||
#![feature(exhaustive_patterns)]
|
||||
#![feature(intra_doc_pointers)]
|
||||
#![cfg_attr(bootstrap, feature(label_break_value))]
|
||||
#![feature(lang_items)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(linkage)]
|
||||
#![feature(link_cfg)]
|
||||
#![feature(min_specialization)]
|
||||
@ -282,9 +280,9 @@
|
||||
#![feature(cstr_internals)]
|
||||
#![feature(duration_checked_float)]
|
||||
#![feature(duration_constants)]
|
||||
#![cfg_attr(not(bootstrap), feature(error_generic_member_access))]
|
||||
#![cfg_attr(not(bootstrap), feature(error_in_core))]
|
||||
#![cfg_attr(not(bootstrap), feature(error_iter))]
|
||||
#![feature(error_generic_member_access)]
|
||||
#![feature(error_in_core)]
|
||||
#![feature(error_iter)]
|
||||
#![feature(exact_size_is_empty)]
|
||||
#![feature(exclusive_wrapper)]
|
||||
#![feature(extend_one)]
|
||||
|
@ -160,15 +160,12 @@ fn lang_start<T: crate::process::Termination + 'static>(
|
||||
main: fn() -> T,
|
||||
argc: isize,
|
||||
argv: *const *const u8,
|
||||
#[cfg(not(bootstrap))] sigpipe: u8,
|
||||
sigpipe: u8,
|
||||
) -> isize {
|
||||
let Ok(v) = lang_start_internal(
|
||||
&move || crate::sys_common::backtrace::__rust_begin_short_backtrace(main).report().to_i32(),
|
||||
argc,
|
||||
argv,
|
||||
#[cfg(bootstrap)]
|
||||
2, // Temporary inlining of sigpipe::DEFAULT until bootstrap stops being special
|
||||
#[cfg(not(bootstrap))]
|
||||
sigpipe,
|
||||
);
|
||||
v
|
||||
|
@ -2535,7 +2535,6 @@ mod size_asserts {
|
||||
// These are in alphabetical order, which is easy to maintain.
|
||||
static_assert_size!(Crate, 72); // frequently moved by-value
|
||||
static_assert_size!(DocFragment, 32);
|
||||
#[cfg(not(bootstrap))]
|
||||
static_assert_size!(GenericArg, 56);
|
||||
static_assert_size!(GenericArgs, 32);
|
||||
static_assert_size!(GenericParamDef, 56);
|
||||
|
@ -9,14 +9,12 @@
|
||||
#![feature(control_flow_enum)]
|
||||
#![feature(drain_filter)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(test)]
|
||||
#![feature(never_type)]
|
||||
#![feature(once_cell)]
|
||||
#![feature(type_ascription)]
|
||||
#![feature(iter_intersperse)]
|
||||
#![feature(type_alias_impl_trait)]
|
||||
#![cfg_attr(bootstrap, feature(generic_associated_types))]
|
||||
#![recursion_limit = "256"]
|
||||
#![warn(rustc::internal)]
|
||||
#![allow(clippy::collapsible_if, clippy::collapsible_else_if)]
|
||||
|
@ -1,4 +1,3 @@
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
|
||||
// EMIT_MIR issue_101867.main.mir_map.0.mir
|
||||
fn main() {
|
||||
|
@ -1,7 +1,6 @@
|
||||
// run-pass
|
||||
// issue #101932
|
||||
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
|
||||
const fn foo(a: Option<i32>) -> i32 {
|
||||
let Some(a) = a else {
|
||||
|
@ -1,5 +1,4 @@
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(once_cell)]
|
||||
#![feature(rustc_private)]
|
||||
#![cfg_attr(feature = "deny-warnings", deny(warnings))]
|
||||
|
@ -5,7 +5,6 @@
|
||||
#![feature(drain_filter)]
|
||||
#![feature(iter_intersperse)]
|
||||
#![feature(let_chains)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(lint_reasons)]
|
||||
#![feature(never_type)]
|
||||
#![feature(once_cell)]
|
||||
|
@ -3,7 +3,6 @@
|
||||
#![feature(control_flow_enum)]
|
||||
#![feature(let_chains)]
|
||||
#![feature(lint_reasons)]
|
||||
#![cfg_attr(bootstrap, feature(let_else))]
|
||||
#![feature(once_cell)]
|
||||
#![feature(rustc_private)]
|
||||
#![recursion_limit = "512"]
|
||||
|
Loading…
Reference in New Issue
Block a user