remove cfg(bootstrap)

This commit is contained in:
Pietro Albini 2022-09-20 15:41:42 +02:00
parent 317cab9bef
commit 3975d55d98
No known key found for this signature in database
GPG Key ID: CD76B35F7734769E
84 changed files with 15 additions and 1308 deletions

View File

@ -3046,7 +3046,6 @@ mod size_asserts {
static_assert_size!(Block, 48); static_assert_size!(Block, 48);
static_assert_size!(Expr, 104); static_assert_size!(Expr, 104);
static_assert_size!(ExprKind, 72); static_assert_size!(ExprKind, 72);
#[cfg(not(bootstrap))]
static_assert_size!(Fn, 184); static_assert_size!(Fn, 184);
static_assert_size!(ForeignItem, 96); static_assert_size!(ForeignItem, 96);
static_assert_size!(ForeignItemKind, 24); static_assert_size!(ForeignItemKind, 24);

View File

@ -13,9 +13,7 @@
#![feature(const_default_impls)] #![feature(const_default_impls)]
#![feature(const_trait_impl)] #![feature(const_trait_impl)]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![cfg_attr(bootstrap, feature(label_break_value))]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(negative_impls)] #![feature(negative_impls)]
#![feature(slice_internals)] #![feature(slice_internals)]

View File

@ -32,7 +32,6 @@
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(never_type)] #![feature(never_type)]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]

View File

@ -9,7 +9,6 @@
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(iter_is_partitioned)] #![feature(iter_is_partitioned)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#[macro_use] #[macro_use]

View File

@ -5,7 +5,6 @@
//! to this crate. //! to this crate.
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![deny(rustc::untranslatable_diagnostic)] #![deny(rustc::untranslatable_diagnostic)]
#![deny(rustc::diagnostic_outside_of_impl)] #![deny(rustc::diagnostic_outside_of_impl)]

View File

@ -3,7 +3,6 @@
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]
#![feature(rustc_attrs)] #![feature(rustc_attrs)]

View File

@ -9,7 +9,6 @@
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(is_sorted)] #![feature(is_sorted)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(proc_macro_internals)] #![feature(proc_macro_internals)]
#![feature(proc_macro_quote)] #![feature(proc_macro_quote)]
#![recursion_limit = "256"] #![recursion_limit = "256"]

View File

@ -7,7 +7,6 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(hash_raw_entry)] #![feature(hash_raw_entry)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(extern_types)] #![feature(extern_types)]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]

View File

@ -1,7 +1,6 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(try_blocks)] #![feature(try_blocks)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(associated_type_bounds)] #![feature(associated_type_bounds)]
#![feature(strict_provenance)] #![feature(strict_provenance)]

View File

@ -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. // 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 { mod size_asserts {
use super::*; use super::*;
use rustc_data_structures::static_assert_size; use rustc_data_structures::static_assert_size;

View File

@ -890,8 +890,6 @@ mod size_asserts {
static_assert_size!(MemPlaceMeta, 24); static_assert_size!(MemPlaceMeta, 24);
static_assert_size!(MemPlace, 40); static_assert_size!(MemPlace, 40);
static_assert_size!(MPlaceTy<'_>, 64); static_assert_size!(MPlaceTy<'_>, 64);
#[cfg(not(bootstrap))]
static_assert_size!(Place, 40); static_assert_size!(Place, 40);
#[cfg(not(bootstrap))]
static_assert_size!(PlaceTy<'_>, 64); static_assert_size!(PlaceTy<'_>, 64);
} }

View File

@ -10,7 +10,6 @@ Rust MIR: a lowered representation of Rust.
#![feature(decl_macro)] #![feature(decl_macro)]
#![feature(exact_size_is_empty)] #![feature(exact_size_is_empty)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(map_try_insert)] #![feature(map_try_insert)]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(slice_ptr_get)] #![feature(slice_ptr_get)]

View File

@ -13,7 +13,6 @@
#![feature(cell_leak)] #![feature(cell_leak)]
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![feature(extend_one)] #![feature(extend_one)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(hash_raw_entry)] #![feature(hash_raw_entry)]
#![feature(hasher_prefixfree_extras)] #![feature(hasher_prefixfree_extras)]
#![feature(maybe_uninit_uninit_array)] #![feature(maybe_uninit_uninit_array)]

View File

@ -5,7 +5,6 @@
//! This API is completely unstable and subject to change. //! This API is completely unstable and subject to change.
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(once_cell)] #![feature(once_cell)]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]

View File

@ -7,7 +7,6 @@
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(adt_const_params)] #![feature(adt_const_params)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(never_type)] #![feature(never_type)]
#![feature(result_option_inspect)] #![feature(result_option_inspect)]
#![feature(rustc_attrs)] #![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.) // (See also the comment on `DiagnosticBuilder`'s `diagnostic` field.)
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
rustc_data_structures::static_assert_size!(PResult<'_, ()>, 16); 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); rustc_data_structures::static_assert_size!(PResult<'_, bool>, 16);
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, Encodable, Decodable)] #[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, Encodable, Decodable)]

View File

@ -3,7 +3,6 @@
#![feature(associated_type_defaults)] #![feature(associated_type_defaults)]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(macro_metavar_expr)] #![feature(macro_metavar_expr)]
#![feature(proc_macro_diagnostic)] #![feature(proc_macro_diagnostic)]
#![feature(proc_macro_internals)] #![feature(proc_macro_internals)]

View File

@ -3520,14 +3520,11 @@ mod size_asserts {
static_assert_size!(FnDecl<'_>, 40); static_assert_size!(FnDecl<'_>, 40);
static_assert_size!(ForeignItem<'_>, 72); static_assert_size!(ForeignItem<'_>, 72);
static_assert_size!(ForeignItemKind<'_>, 40); static_assert_size!(ForeignItemKind<'_>, 40);
#[cfg(not(bootstrap))]
static_assert_size!(GenericArg<'_>, 24); static_assert_size!(GenericArg<'_>, 24);
static_assert_size!(GenericBound<'_>, 48); static_assert_size!(GenericBound<'_>, 48);
static_assert_size!(Generics<'_>, 56); static_assert_size!(Generics<'_>, 56);
static_assert_size!(Impl<'_>, 80); static_assert_size!(Impl<'_>, 80);
#[cfg(not(bootstrap))]
static_assert_size!(ImplItem<'_>, 80); static_assert_size!(ImplItem<'_>, 80);
#[cfg(not(bootstrap))]
static_assert_size!(ImplItemKind<'_>, 32); static_assert_size!(ImplItemKind<'_>, 32);
static_assert_size!(Item<'_>, 80); static_assert_size!(Item<'_>, 80);
static_assert_size!(ItemKind<'_>, 48); static_assert_size!(ItemKind<'_>, 48);
@ -3540,9 +3537,7 @@ mod size_asserts {
static_assert_size!(QPath<'_>, 24); static_assert_size!(QPath<'_>, 24);
static_assert_size!(Stmt<'_>, 32); static_assert_size!(Stmt<'_>, 32);
static_assert_size!(StmtKind<'_>, 16); static_assert_size!(StmtKind<'_>, 16);
#[cfg(not(bootstrap))]
static_assert_size!(TraitItem<'_>, 88); static_assert_size!(TraitItem<'_>, 88);
#[cfg(not(bootstrap))]
static_assert_size!(TraitItemKind<'_>, 48); static_assert_size!(TraitItemKind<'_>, 48);
static_assert_size!(Ty<'_>, 48); static_assert_size!(Ty<'_>, 48);
static_assert_size!(TyKind<'_>, 32); static_assert_size!(TyKind<'_>, 32);

View File

@ -5,7 +5,6 @@
#![feature(associated_type_defaults)] #![feature(associated_type_defaults)]
#![feature(closure_track_caller)] #![feature(closure_track_caller)]
#![feature(const_btree_len)] #![feature(const_btree_len)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]

View File

@ -2,7 +2,6 @@
#![deny(missing_docs)] #![deny(missing_docs)]
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![cfg_attr(bootstrap, feature(let_else))]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]

View File

@ -3,7 +3,6 @@
#![feature(allow_internal_unstable)] #![feature(allow_internal_unstable)]
#![feature(bench_black_box)] #![feature(bench_black_box)]
#![feature(extend_one)] #![feature(extend_one)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(new_uninit)] #![feature(new_uninit)]
#![feature(step_trait)] #![feature(step_trait)]

View File

@ -17,9 +17,7 @@
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![feature(extend_one)] #![feature(extend_one)]
#![cfg_attr(bootstrap, feature(label_break_value))]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]

View File

@ -1,5 +1,4 @@
#![feature(box_patterns)] #![feature(box_patterns)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(internal_output_capture)] #![feature(internal_output_capture)]
#![feature(thread_spawn_unchecked)] #![feature(thread_spawn_unchecked)]
#![feature(once_cell)] #![feature(once_cell)]

View File

@ -34,7 +34,7 @@
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![feature(iter_order_by)] #![feature(iter_order_by)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]
#![recursion_limit = "256"] #![recursion_limit = "256"]

View File

@ -1,5 +1,4 @@
#![feature(allow_internal_unstable)] #![feature(allow_internal_unstable)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(never_type)] #![feature(never_type)]
#![feature(proc_macro_diagnostic)] #![feature(proc_macro_diagnostic)]
#![feature(proc_macro_span)] #![feature(proc_macro_span)]

View File

@ -2,10 +2,8 @@
#![feature(decl_macro)] #![feature(decl_macro)]
#![feature(drain_filter)] #![feature(drain_filter)]
#![feature(generators)] #![feature(generators)]
#![cfg_attr(bootstrap, feature(generic_associated_types))]
#![feature(iter_from_generator)] #![feature(iter_from_generator)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(proc_macro_internals)] #![feature(proc_macro_internals)]
#![feature(macro_metavar_expr)] #![feature(macro_metavar_expr)]

View File

@ -31,7 +31,6 @@
#![feature(discriminant_kind)] #![feature(discriminant_kind)]
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![feature(get_mut_unchecked)] #![feature(get_mut_unchecked)]
#![cfg_attr(bootstrap, feature(generic_associated_types))]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(map_first_last)] #![feature(map_first_last)]
#![feature(negative_impls)] #![feature(negative_impls)]
@ -40,7 +39,6 @@
#![feature(new_uninit)] #![feature(new_uninit)]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(trusted_len)] #![feature(trusted_len)]
#![feature(type_alias_impl_trait)] #![feature(type_alias_impl_trait)]

View File

@ -1242,7 +1242,6 @@ pub enum BinOp {
mod size_asserts { mod size_asserts {
use super::*; use super::*;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
#[cfg(not(bootstrap))]
static_assert_size!(AggregateKind<'_>, 40); static_assert_size!(AggregateKind<'_>, 40);
static_assert_size!(Operand<'_>, 24); static_assert_size!(Operand<'_>, 24);
static_assert_size!(Place<'_>, 16); static_assert_size!(Place<'_>, 16);

View File

@ -852,12 +852,8 @@ mod size_asserts {
static_assert_size!(Block, 56); static_assert_size!(Block, 56);
static_assert_size!(Expr<'_>, 64); static_assert_size!(Expr<'_>, 64);
static_assert_size!(ExprKind<'_>, 40); static_assert_size!(ExprKind<'_>, 40);
#[cfg(not(bootstrap))]
static_assert_size!(Pat<'_>, 72); static_assert_size!(Pat<'_>, 72);
#[cfg(not(bootstrap))]
static_assert_size!(PatKind<'_>, 56); static_assert_size!(PatKind<'_>, 56);
#[cfg(not(bootstrap))]
static_assert_size!(Stmt<'_>, 48); static_assert_size!(Stmt<'_>, 48);
#[cfg(not(bootstrap))]
static_assert_size!(StmtKind<'_>, 40); static_assert_size!(StmtKind<'_>, 40);
} }

View File

@ -6,7 +6,6 @@
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(once_cell)] #![feature(once_cell)]
#![recursion_limit = "256"] #![recursion_limit = "256"]

View File

@ -1,7 +1,6 @@
#![feature(associated_type_defaults)] #![feature(associated_type_defaults)]
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(exact_size_is_empty)] #![feature(exact_size_is_empty)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(stmt_expr_attributes)] #![feature(stmt_expr_attributes)]

View File

@ -1,7 +1,6 @@
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(map_try_insert)] #![feature(map_try_insert)]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]

View File

@ -1,6 +1,5 @@
#![feature(array_windows)] #![feature(array_windows)]
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![cfg_attr(bootstrap, feature(let_else))]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]
#![deny(rustc::untranslatable_diagnostic)] #![deny(rustc::untranslatable_diagnostic)]

View File

@ -4,7 +4,6 @@
#![feature(box_patterns)] #![feature(box_patterns)]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(never_type)] #![feature(never_type)]
#![feature(rustc_attrs)] #![feature(rustc_attrs)]
#![recursion_limit = "256"] #![recursion_limit = "256"]

View File

@ -8,7 +8,6 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(map_try_insert)] #![feature(map_try_insert)]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(try_blocks)] #![feature(try_blocks)]

View File

@ -1,7 +1,6 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(associated_type_defaults)] #![feature(associated_type_defaults)]
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(rustc_private)] #![feature(rustc_private)]
#![feature(try_blocks)] #![feature(try_blocks)]
#![recursion_limit = "256"] #![recursion_limit = "256"]

View File

@ -1,7 +1,6 @@
#![feature(assert_matches)] #![feature(assert_matches)]
#![feature(core_intrinsics)] #![feature(core_intrinsics)]
#![feature(hash_raw_entry)] #![feature(hash_raw_entry)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(extern_types)] #![feature(extern_types)]
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]

View File

@ -12,7 +12,6 @@
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(never_type)] #![feature(never_type)]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![allow(rustdoc::private_intra_doc_links)] #![allow(rustdoc::private_intra_doc_links)]

View File

@ -1,6 +1,5 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![cfg_attr(bootstrap, feature(let_else))]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![allow(rustc::potential_query_instability)] #![allow(rustc::potential_query_instability)]
#![feature(never_type)] #![feature(never_type)]

View File

@ -14,7 +14,6 @@ Core encoding and decoding interfaces.
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(core_intrinsics)] #![feature(core_intrinsics)]
#![feature(maybe_uninit_slice)] #![feature(maybe_uninit_slice)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(new_uninit)] #![feature(new_uninit)]
#![feature(allocator_api)] #![feature(allocator_api)]
#![cfg_attr(test, feature(test))] #![cfg_attr(test, feature(test))]

View File

@ -1,6 +1,5 @@
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]
#![feature(once_cell)] #![feature(once_cell)]

View File

@ -15,7 +15,6 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(array_windows)] #![feature(array_windows)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(negative_impls)] #![feature(negative_impls)]
#![feature(min_specialization)] #![feature(min_specialization)]

View File

@ -11,7 +11,6 @@
#![feature(assert_matches)] #![feature(assert_matches)]
#![feature(associated_type_bounds)] #![feature(associated_type_bounds)]
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]
#![feature(rustc_attrs)] #![feature(rustc_attrs)]

View File

@ -16,9 +16,7 @@
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![feature(drain_filter)] #![feature(drain_filter)]
#![feature(hash_drain_filter)] #![feature(hash_drain_filter)]
#![cfg_attr(bootstrap, feature(label_break_value))]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(never_type)] #![feature(never_type)]
#![feature(type_alias_impl_trait)] #![feature(type_alias_impl_trait)]

View File

@ -3,7 +3,6 @@
#![deny(rustc::untranslatable_diagnostic)] #![deny(rustc::untranslatable_diagnostic)]
#![deny(rustc::diagnostic_outside_of_impl)] #![deny(rustc::diagnostic_outside_of_impl)]
#![cfg_attr(bootstrap, feature(let_else))]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#[macro_use] #[macro_use]

View File

@ -6,7 +6,6 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(never_type)] #![feature(never_type)]
#![feature(box_patterns)] #![feature(box_patterns)]
#![recursion_limit = "256"] #![recursion_limit = "256"]

View File

@ -64,9 +64,7 @@ This API is completely unstable and subject to change.
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(is_sorted)] #![feature(is_sorted)]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![cfg_attr(bootstrap, feature(label_break_value))]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(never_type)] #![feature(never_type)]
#![feature(once_cell)] #![feature(once_cell)]

View File

@ -151,7 +151,6 @@ use core::async_iter::AsyncIterator;
use core::borrow; use core::borrow;
use core::cmp::Ordering; use core::cmp::Ordering;
use core::convert::{From, TryFrom}; use core::convert::{From, TryFrom};
#[cfg(not(bootstrap))]
use core::error::Error; use core::error::Error;
use core::fmt; use core::fmt;
use core::future::Future; use core::future::Future;
@ -176,7 +175,6 @@ use crate::borrow::Cow;
use crate::raw_vec::RawVec; use crate::raw_vec::RawVec;
#[cfg(not(no_global_oom_handling))] #[cfg(not(no_global_oom_handling))]
use crate::str::from_boxed_utf8_unchecked; use crate::str::from_boxed_utf8_unchecked;
#[cfg(not(bootstrap))]
#[cfg(not(no_global_oom_handling))] #[cfg(not(no_global_oom_handling))]
use crate::string::String; use crate::string::String;
#[cfg(not(no_global_oom_handling))] #[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 { impl dyn Error {
#[inline] #[inline]
#[stable(feature = "error_downcast", since = "1.3.0")] #[stable(feature = "error_downcast", since = "1.3.0")]
@ -2108,7 +2105,6 @@ impl dyn Error {
} }
} }
#[cfg(not(bootstrap))]
impl dyn Error + Send { impl dyn Error + Send {
#[inline] #[inline]
#[stable(feature = "error_downcast", since = "1.3.0")] #[stable(feature = "error_downcast", since = "1.3.0")]
@ -2123,7 +2119,6 @@ impl dyn Error + Send {
} }
} }
#[cfg(not(bootstrap))]
impl dyn Error + Send + Sync { impl dyn Error + Send + Sync {
#[inline] #[inline]
#[stable(feature = "error_downcast", since = "1.3.0")] #[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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl From<String> for Box<dyn Error + Send + Sync> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "string_box_error", since = "1.6.0")] #[stable(feature = "string_box_error", since = "1.6.0")]
impl From<String> for Box<dyn Error> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "string_box_error", since = "1.6.0")] #[stable(feature = "string_box_error", since = "1.6.0")]
impl From<&str> for Box<dyn Error> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "cow_box_error", since = "1.22.0")] #[stable(feature = "cow_box_error", since = "1.22.0")]
impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a> { 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))] #[cfg(not(no_global_oom_handling))]
#[stable(feature = "cow_box_error", since = "1.22.0")] #[stable(feature = "cow_box_error", since = "1.22.0")]
impl<'a> From<Cow<'a, str>> for Box<dyn Error> { 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")] #[stable(feature = "box_error", since = "1.8.0")]
impl<T: core::error::Error> core::error::Error for Box<T> { impl<T: core::error::Error> core::error::Error for Box<T> {
#[allow(deprecated, deprecated_in_future)] #[allow(deprecated, deprecated_in_future)]

View File

@ -2,7 +2,6 @@
// https://github.com/matthieu-m/rfc2580/blob/b58d1d3cba0d4b5e859d3617ea2d0943aaa31329/examples/thin.rs // https://github.com/matthieu-m/rfc2580/blob/b58d1d3cba0d4b5e859d3617ea2d0943aaa31329/examples/thin.rs
// by matthieu-m // by matthieu-m
use crate::alloc::{self, Layout, LayoutError}; use crate::alloc::{self, Layout, LayoutError};
#[cfg(not(bootstrap))]
use core::error::Error; use core::error::Error;
use core::fmt::{self, Debug, Display, Formatter}; use core::fmt::{self, Debug, Display, Formatter};
use core::marker::PhantomData; use core::marker::PhantomData;
@ -274,7 +273,6 @@ impl<H> WithHeader<H> {
} }
} }
#[cfg(not(bootstrap))]
#[unstable(feature = "thin_box", issue = "92791")] #[unstable(feature = "thin_box", issue = "92791")]
impl<T: ?Sized + Error> Error for ThinBox<T> { impl<T: ?Sized + Error> Error for ThinBox<T> {
fn source(&self) -> Option<&(dyn Error + 'static)> { fn source(&self) -> Option<&(dyn Error + 'static)> {

View File

@ -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")] #[unstable(feature = "map_try_insert", issue = "82766")]
impl<'a, K: core::fmt::Debug + Ord, V: core::fmt::Debug> core::error::Error impl<'a, K: core::fmt::Debug + Ord, V: core::fmt::Debug> core::error::Error
for crate::collections::btree_map::OccupiedError<'a, K, V> for crate::collections::btree_map::OccupiedError<'a, K, V>

View File

@ -153,6 +153,5 @@ trait SpecExtend<I: IntoIterator> {
fn spec_extend(&mut self, iter: I); fn spec_extend(&mut self, iter: I);
} }
#[cfg(not(bootstrap))]
#[stable(feature = "try_reserve", since = "1.57.0")] #[stable(feature = "try_reserve", since = "1.57.0")]
impl core::error::Error for TryReserveError {} impl core::error::Error for TryReserveError {}

View File

@ -1122,7 +1122,6 @@ impl CStr {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl core::error::Error for NulError { impl core::error::Error for NulError {
#[allow(deprecated)] #[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")] #[stable(feature = "cstring_from_vec_with_nul", since = "1.58.0")]
impl core::error::Error for FromVecWithNulError {} impl core::error::Error for FromVecWithNulError {}
#[cfg(not(bootstrap))]
#[stable(feature = "cstring_into", since = "1.7.0")] #[stable(feature = "cstring_into", since = "1.7.0")]
impl core::error::Error for IntoStringError { impl core::error::Error for IntoStringError {
#[allow(deprecated)] #[allow(deprecated)]

View File

@ -114,8 +114,8 @@
#![feature(const_waker)] #![feature(const_waker)]
#![feature(cstr_from_bytes_until_nul)] #![feature(cstr_from_bytes_until_nul)]
#![feature(dispatch_from_dyn)] #![feature(dispatch_from_dyn)]
#![cfg_attr(not(bootstrap), feature(error_generic_member_access))] #![feature(error_generic_member_access)]
#![cfg_attr(not(bootstrap), feature(error_in_core))] #![feature(error_in_core)]
#![feature(exact_size_is_empty)] #![feature(exact_size_is_empty)]
#![feature(extend_one)] #![feature(extend_one)]
#![feature(fmt_internals)] #![feature(fmt_internals)]
@ -132,7 +132,7 @@
#![feature(nonnull_slice_from_raw_parts)] #![feature(nonnull_slice_from_raw_parts)]
#![feature(pattern)] #![feature(pattern)]
#![feature(pointer_byte_offsets)] #![feature(pointer_byte_offsets)]
#![cfg_attr(not(bootstrap), feature(provide_any))] #![feature(provide_any)]
#![feature(ptr_internals)] #![feature(ptr_internals)]
#![feature(ptr_metadata)] #![feature(ptr_metadata)]
#![feature(ptr_sub_ptr)] #![feature(ptr_sub_ptr)]
@ -173,7 +173,6 @@
#![cfg_attr(not(test), feature(generator_trait))] #![cfg_attr(not(test), feature(generator_trait))]
#![feature(hashmap_internals)] #![feature(hashmap_internals)]
#![feature(lang_items)] #![feature(lang_items)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(min_specialization)] #![feature(min_specialization)]
#![feature(negative_impls)] #![feature(negative_impls)]
#![feature(never_type)] #![feature(never_type)]

View File

@ -44,7 +44,6 @@
#[cfg(not(no_global_oom_handling))] #[cfg(not(no_global_oom_handling))]
use core::char::{decode_utf16, REPLACEMENT_CHARACTER}; use core::char::{decode_utf16, REPLACEMENT_CHARACTER};
#[cfg(not(bootstrap))]
use core::error::Error; use core::error::Error;
use core::fmt; use core::fmt;
use core::hash; use core::hash;
@ -1941,7 +1940,6 @@ impl fmt::Display for FromUtf16Error {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Error for FromUtf8Error { impl Error for FromUtf8Error {
#[allow(deprecated)] #[allow(deprecated)]
@ -1950,7 +1948,6 @@ impl Error for FromUtf8Error {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Error for FromUtf16Error { impl Error for FromUtf16Error {
#[allow(deprecated)] #[allow(deprecated)]

View File

@ -2764,7 +2764,6 @@ fn data_offset_align(align: usize) -> usize {
layout.size() + layout.padding_needed_for(align) layout.size() + layout.padding_needed_for(align)
} }
#[cfg(not(bootstrap))]
#[stable(feature = "arc_error", since = "1.52.0")] #[stable(feature = "arc_error", since = "1.52.0")]
impl<T: core::error::Error + ?Sized> core::error::Error for Arc<T> { impl<T: core::error::Error + ?Sized> core::error::Error for Arc<T> {
#[allow(deprecated, deprecated_in_future)] #[allow(deprecated, deprecated_in_future)]

View File

@ -5,7 +5,6 @@
// Your performance intuition is useless. Run perf. // Your performance intuition is useless. Run perf.
use crate::cmp; use crate::cmp;
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
use crate::mem::{self, ValidAlign}; use crate::mem::{self, ValidAlign};
@ -463,7 +462,6 @@ pub type LayoutErr = LayoutError;
#[derive(Clone, PartialEq, Eq, Debug)] #[derive(Clone, PartialEq, Eq, Debug)]
pub struct LayoutError; pub struct LayoutError;
#[cfg(not(bootstrap))]
#[stable(feature = "alloc_layout", since = "1.28.0")] #[stable(feature = "alloc_layout", since = "1.28.0")]
impl Error for LayoutError {} impl Error for LayoutError {}

View File

@ -21,7 +21,6 @@ pub use self::layout::LayoutErr;
#[stable(feature = "alloc_layout_error", since = "1.50.0")] #[stable(feature = "alloc_layout_error", since = "1.50.0")]
pub use self::layout::LayoutError; pub use self::layout::LayoutError;
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
use crate::ptr::{self, NonNull}; use crate::ptr::{self, NonNull};
@ -34,7 +33,6 @@ use crate::ptr::{self, NonNull};
#[derive(Copy, Clone, PartialEq, Eq, Debug)] #[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub struct AllocError; pub struct AllocError;
#[cfg(not(bootstrap))]
#[unstable( #[unstable(
feature = "allocator_api", feature = "allocator_api",
reason = "the precise API and guarantees it provides may be tweaked.", reason = "the precise API and guarantees it provides may be tweaked.",

View File

@ -7,7 +7,6 @@
use crate::borrow::{Borrow, BorrowMut}; use crate::borrow::{Borrow, BorrowMut};
use crate::cmp::Ordering; use crate::cmp::Ordering;
use crate::convert::{Infallible, TryFrom}; use crate::convert::{Infallible, TryFrom};
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
use crate::hash::{self, Hash}; 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")] #[stable(feature = "try_from", since = "1.34.0")]
impl Error for TryFromSliceError { impl Error for TryFromSliceError {
#[allow(deprecated)] #[allow(deprecated)]

View File

@ -1,6 +1,5 @@
//! UTF-8 and UTF-16 decoding iterators //! UTF-8 and UTF-16 decoding iterators
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
@ -124,7 +123,6 @@ impl fmt::Display for DecodeUtf16Error {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "decode_utf16", since = "1.9.0")] #[stable(feature = "decode_utf16", since = "1.9.0")]
impl Error for DecodeUtf16Error { impl Error for DecodeUtf16Error {
#[allow(deprecated)] #[allow(deprecated)]

View File

@ -38,7 +38,6 @@ pub use self::methods::encode_utf16_raw;
#[unstable(feature = "char_internals", reason = "exposed only for libstd", issue = "none")] #[unstable(feature = "char_internals", reason = "exposed only for libstd", issue = "none")]
pub use self::methods::encode_utf8_raw; pub use self::methods::encode_utf8_raw;
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt::{self, Write}; use crate::fmt::{self, Write};
use crate::iter::FusedIterator; 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")] #[stable(feature = "u8_from_char", since = "1.59.0")]
impl Error for TryFromCharError {} impl Error for TryFromCharError {}

View File

@ -34,7 +34,6 @@
#![stable(feature = "rust1", since = "1.0.0")] #![stable(feature = "rust1", since = "1.0.0")]
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
use crate::hash::{Hash, Hasher}; 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")] #[stable(feature = "str_parse_error2", since = "1.8.0")]
impl Error for Infallible { impl Error for Infallible {
fn description(&self) -> &str { fn description(&self) -> &str {

View File

@ -54,8 +54,6 @@
)] )]
#![allow(missing_docs)] #![allow(missing_docs)]
#[cfg(bootstrap)]
use crate::marker::Destruct;
use crate::marker::DiscriminantKind; use crate::marker::DiscriminantKind;
use crate::mem; use crate::mem;
@ -1297,7 +1295,6 @@ extern "rust-intrinsic" {
/// any safety invariants. /// any safety invariants.
/// ///
/// Consider using [`pointer::mask`] instead. /// Consider using [`pointer::mask`] instead.
#[cfg(not(bootstrap))]
pub fn ptr_mask<T>(ptr: *const T, mask: usize) -> *const T; pub fn ptr_mask<T>(ptr: *const T, mask: usize) -> *const T;
/// Equivalent to the appropriate `llvm.memcpy.p0i8.0i8.*` intrinsic, with /// 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 /// Therefore, implementations must not require the user to uphold
/// any safety invariants. /// any safety invariants.
#[rustc_const_unstable(feature = "const_raw_ptr_comparison", issue = "53020")] #[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; 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. /// Allocates a block of memory at compile time.
/// At runtime, just returns a null pointer. /// 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*, /// `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 /// 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. /// 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")] #[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 pub fn const_eval_select<ARG, F, G, RET>(arg: ARG, called_in_const: F, called_at_rt: G) -> RET
where where
@ -2216,16 +2203,6 @@ pub(crate) fn is_nonoverlapping<T>(src: *const T, dst: *const T, count: usize) -
diff >= size 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 /// Copies `count * size_of::<T>()` bytes from `src` to `dst`. The source
/// and destination must *not* overlap. /// 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) 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)
}

View File

@ -310,7 +310,6 @@ pub mod clone;
pub mod cmp; pub mod cmp;
pub mod convert; pub mod convert;
pub mod default; pub mod default;
#[cfg(not(bootstrap))]
pub mod error; pub mod error;
pub mod marker; pub mod marker;
pub mod ops; pub mod ops;

View File

@ -806,7 +806,7 @@ pub trait Destruct {}
/// The implementation of this trait is built-in and cannot be implemented /// The implementation of this trait is built-in and cannot be implemented
/// for any user type. /// for any user type.
#[unstable(feature = "tuple_trait", issue = "none")] #[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")] #[rustc_on_unimplemented(message = "`{Self}` is not a tuple")]
pub trait Tuple {} pub trait Tuple {}

View File

@ -4,7 +4,7 @@
/// any value of type `Self` are safely transmutable into a value of type `Dst`, in a given `Context`, /// 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. /// notwithstanding whatever safety checks you have asked the compiler to [`Assume`] are satisfied.
#[unstable(feature = "transmutability", issue = "99571")] #[unstable(feature = "transmutability", issue = "99571")]
#[cfg_attr(not(bootstrap), lang = "transmute_trait")] #[lang = "transmute_trait"]
#[rustc_on_unimplemented( #[rustc_on_unimplemented(
message = "`{Src}` cannot be safely transmuted into `{Self}` in the defining scope of `{Context}`.", 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}`." 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? /// What transmutation safety conditions shall the compiler assume that *you* are checking?
#[unstable(feature = "transmutability", issue = "99571")] #[unstable(feature = "transmutability", issue = "99571")]
#[cfg_attr(not(bootstrap), lang = "transmute_opts")] #[lang = "transmute_opts"]
#[derive(PartialEq, Eq, Clone, Copy, Debug)] #[derive(PartialEq, Eq, Clone, Copy, Debug)]
pub struct Assume { pub struct Assume {
/// When `true`, the compiler assumes that *you* are ensuring (either dynamically or statically) that /// When `true`, the compiler assumes that *you* are ensuring (either dynamically or statically) that

View File

@ -1,7 +1,6 @@
//! Error types for conversion to integral types. //! Error types for conversion to integral types.
use crate::convert::Infallible; use crate::convert::Infallible;
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
@ -147,7 +146,6 @@ impl fmt::Display for ParseIntError {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Error for ParseIntError { impl Error for ParseIntError {
#[allow(deprecated)] #[allow(deprecated)]
@ -156,7 +154,6 @@ impl Error for ParseIntError {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "try_from", since = "1.34.0")] #[stable(feature = "try_from", since = "1.34.0")]
impl Error for TryFromIntError { impl Error for TryFromIntError {
#[allow(deprecated)] #[allow(deprecated)]

View File

@ -3,7 +3,6 @@
#![stable(feature = "rust1", since = "1.0.0")] #![stable(feature = "rust1", since = "1.0.0")]
use crate::ascii; use crate::ascii;
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::intrinsics; use crate::intrinsics;
use crate::mem; use crate::mem;
@ -59,7 +58,6 @@ pub use wrapping::Wrapping;
#[cfg(not(no_fp_fmt_parse))] #[cfg(not(no_fp_fmt_parse))]
pub use dec2flt::ParseFloatError; pub use dec2flt::ParseFloatError;
#[cfg(not(bootstrap))]
#[cfg(not(no_fp_fmt_parse))] #[cfg(not(no_fp_fmt_parse))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Error for ParseFloatError { impl Error for ParseFloatError {

View File

@ -83,7 +83,6 @@ pub trait Generator<R = ()> {
/// `return` statement or implicitly as the last expression of a generator /// `return` statement or implicitly as the last expression of a generator
/// literal. For example futures would use this as `Result<T, E>` as it /// literal. For example futures would use this as `Result<T, E>` as it
/// represents a completed future. /// represents a completed future.
#[cfg_attr(bootstrap, lang = "generator_return")]
type Return; type Return;
/// Resumes the execution of this generator. /// Resumes the execution of this generator.

View File

@ -223,7 +223,7 @@ pub trait Try: ~const FromResidual {
/// Every `Try` type needs to be recreatable from its own associated /// Every `Try` type needs to be recreatable from its own associated
/// `Residual` type, but can also have additional `FromResidual` implementations /// `Residual` type, but can also have additional `FromResidual` implementations
/// to support interconversion with other `Try` types. /// to support interconversion with other `Try` types.
#[cfg_attr(not(bootstrap), rustc_on_unimplemented( #[rustc_on_unimplemented(
on( on(
all( all(
from_desugaring = "QuestionMark", from_desugaring = "QuestionMark",
@ -302,87 +302,7 @@ pub trait Try: ~const FromResidual {
label = "cannot use the `?` operator in {ItemContext} that returns `{Self}`", label = "cannot use the `?` operator in {ItemContext} that returns `{Self}`",
parent_label = "this function should return `Result` or `Option` to accept `?`" 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"] #[rustc_diagnostic_item = "FromResidual"]
#[unstable(feature = "try_trait_v2", issue = "84277")] #[unstable(feature = "try_trait_v2", issue = "84277")]
#[const_trait] #[const_trait]

View File

@ -568,7 +568,6 @@ impl<T: ?Sized> *const T {
/// ///
/// For non-`Sized` pointees this operation changes only the data pointer, /// For non-`Sized` pointees this operation changes only the data pointer,
/// leaving the metadata untouched. /// leaving the metadata untouched.
#[cfg(not(bootstrap))]
#[unstable(feature = "ptr_mask", issue = "98290")] #[unstable(feature = "ptr_mask", issue = "98290")]
#[must_use = "returns a new pointer rather than modifying its argument"] #[must_use = "returns a new pointer rather than modifying its argument"]
#[inline(always)] #[inline(always)]

View File

@ -584,7 +584,6 @@ impl<T: ?Sized> *mut T {
/// ///
/// For non-`Sized` pointees this operation changes only the data pointer, /// For non-`Sized` pointees this operation changes only the data pointer,
/// leaving the metadata untouched. /// leaving the metadata untouched.
#[cfg(not(bootstrap))]
#[unstable(feature = "ptr_mask", issue = "98290")] #[unstable(feature = "ptr_mask", issue = "98290")]
#[must_use = "returns a new pointer rather than modifying its argument"] #[must_use = "returns a new pointer rather than modifying its argument"]
#[inline(always)] #[inline(always)]

View File

@ -1,6 +1,5 @@
//! Defines utf8 error type. //! Defines utf8 error type.
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt; use crate::fmt;
@ -124,7 +123,6 @@ impl fmt::Display for Utf8Error {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Error for Utf8Error { impl Error for Utf8Error {
#[allow(deprecated)] #[allow(deprecated)]
@ -148,7 +146,6 @@ impl fmt::Display for ParseBoolError {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Error for ParseBoolError { impl Error for ParseBoolError {
#[allow(deprecated)] #[allow(deprecated)]

View File

@ -2642,5 +2642,4 @@ impl_fn_for_zst! {
} }
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[cfg(not(bootstrap))]
impl !crate::error::Error for &str {} impl !crate::error::Error for &str {}

View File

@ -9,7 +9,6 @@ use crate::borrow::Borrow;
use crate::cell::Cell; use crate::cell::Cell;
use crate::collections::TryReserveError; use crate::collections::TryReserveError;
use crate::collections::TryReserveErrorKind; use crate::collections::TryReserveErrorKind;
#[cfg(not(bootstrap))]
use crate::error::Error; use crate::error::Error;
use crate::fmt::{self, Debug}; use crate::fmt::{self, Debug};
#[allow(deprecated)] #[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")] #[unstable(feature = "map_try_insert", issue = "82766")]
impl<'a, K: fmt::Debug, V: fmt::Debug> Error for OccupiedError<'a, K, V> { impl<'a, K: fmt::Debug, V: fmt::Debug> Error for OccupiedError<'a, K, V> {
#[allow(deprecated)] #[allow(deprecated)]

File diff suppressed because it is too large Load Diff

View File

@ -76,7 +76,6 @@ impl fmt::Debug for Error {
} }
} }
#[cfg(not(bootstrap))]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl From<alloc::ffi::NulError> for Error { impl From<alloc::ffi::NulError> for Error {
/// Converts a [`alloc::ffi::NulError`] into a [`Error`]. /// Converts a [`alloc::ffi::NulError`] into a [`Error`].

View File

@ -252,10 +252,8 @@
#![feature(dropck_eyepatch)] #![feature(dropck_eyepatch)]
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![feature(intra_doc_pointers)] #![feature(intra_doc_pointers)]
#![cfg_attr(bootstrap, feature(label_break_value))]
#![feature(lang_items)] #![feature(lang_items)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(linkage)] #![feature(linkage)]
#![feature(link_cfg)] #![feature(link_cfg)]
#![feature(min_specialization)] #![feature(min_specialization)]
@ -282,9 +280,9 @@
#![feature(cstr_internals)] #![feature(cstr_internals)]
#![feature(duration_checked_float)] #![feature(duration_checked_float)]
#![feature(duration_constants)] #![feature(duration_constants)]
#![cfg_attr(not(bootstrap), feature(error_generic_member_access))] #![feature(error_generic_member_access)]
#![cfg_attr(not(bootstrap), feature(error_in_core))] #![feature(error_in_core)]
#![cfg_attr(not(bootstrap), feature(error_iter))] #![feature(error_iter)]
#![feature(exact_size_is_empty)] #![feature(exact_size_is_empty)]
#![feature(exclusive_wrapper)] #![feature(exclusive_wrapper)]
#![feature(extend_one)] #![feature(extend_one)]

View File

@ -160,15 +160,12 @@ fn lang_start<T: crate::process::Termination + 'static>(
main: fn() -> T, main: fn() -> T,
argc: isize, argc: isize,
argv: *const *const u8, argv: *const *const u8,
#[cfg(not(bootstrap))] sigpipe: u8, sigpipe: u8,
) -> isize { ) -> isize {
let Ok(v) = lang_start_internal( let Ok(v) = lang_start_internal(
&move || crate::sys_common::backtrace::__rust_begin_short_backtrace(main).report().to_i32(), &move || crate::sys_common::backtrace::__rust_begin_short_backtrace(main).report().to_i32(),
argc, argc,
argv, argv,
#[cfg(bootstrap)]
2, // Temporary inlining of sigpipe::DEFAULT until bootstrap stops being special
#[cfg(not(bootstrap))]
sigpipe, sigpipe,
); );
v v

View File

@ -2535,7 +2535,6 @@ mod size_asserts {
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
static_assert_size!(Crate, 72); // frequently moved by-value static_assert_size!(Crate, 72); // frequently moved by-value
static_assert_size!(DocFragment, 32); static_assert_size!(DocFragment, 32);
#[cfg(not(bootstrap))]
static_assert_size!(GenericArg, 56); static_assert_size!(GenericArg, 56);
static_assert_size!(GenericArgs, 32); static_assert_size!(GenericArgs, 32);
static_assert_size!(GenericParamDef, 56); static_assert_size!(GenericParamDef, 56);

View File

@ -9,14 +9,12 @@
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![feature(drain_filter)] #![feature(drain_filter)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(test)] #![feature(test)]
#![feature(never_type)] #![feature(never_type)]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(type_ascription)] #![feature(type_ascription)]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![feature(type_alias_impl_trait)] #![feature(type_alias_impl_trait)]
#![cfg_attr(bootstrap, feature(generic_associated_types))]
#![recursion_limit = "256"] #![recursion_limit = "256"]
#![warn(rustc::internal)] #![warn(rustc::internal)]
#![allow(clippy::collapsible_if, clippy::collapsible_else_if)] #![allow(clippy::collapsible_if, clippy::collapsible_else_if)]

View File

@ -1,4 +1,3 @@
#![cfg_attr(bootstrap, feature(let_else))]
// EMIT_MIR issue_101867.main.mir_map.0.mir // EMIT_MIR issue_101867.main.mir_map.0.mir
fn main() { fn main() {

View File

@ -1,7 +1,6 @@
// run-pass // run-pass
// issue #101932 // issue #101932
#![cfg_attr(bootstrap, feature(let_else))]
const fn foo(a: Option<i32>) -> i32 { const fn foo(a: Option<i32>) -> i32 {
let Some(a) = a else { let Some(a) = a else {

View File

@ -1,5 +1,4 @@
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(rustc_private)] #![feature(rustc_private)]
#![cfg_attr(feature = "deny-warnings", deny(warnings))] #![cfg_attr(feature = "deny-warnings", deny(warnings))]

View File

@ -5,7 +5,6 @@
#![feature(drain_filter)] #![feature(drain_filter)]
#![feature(iter_intersperse)] #![feature(iter_intersperse)]
#![feature(let_chains)] #![feature(let_chains)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(lint_reasons)] #![feature(lint_reasons)]
#![feature(never_type)] #![feature(never_type)]
#![feature(once_cell)] #![feature(once_cell)]

View File

@ -3,7 +3,6 @@
#![feature(control_flow_enum)] #![feature(control_flow_enum)]
#![feature(let_chains)] #![feature(let_chains)]
#![feature(lint_reasons)] #![feature(lint_reasons)]
#![cfg_attr(bootstrap, feature(let_else))]
#![feature(once_cell)] #![feature(once_cell)]
#![feature(rustc_private)] #![feature(rustc_private)]
#![recursion_limit = "512"] #![recursion_limit = "512"]