Skip to content

Commit 0412fd6

Browse files
authored
Rollup merge of #76821 - est31:remove_redundant_nightly_features, r=oli-obk,Mark-Simulacrum
Remove redundant nightly features Removes a bunch of redundant/outdated nightly features. The first commit removes a `core_intrinsics` use for which a stable wrapper has been provided since. The second commit replaces the `const_generics` feature with `min_const_generics` which might get stabilized this year. The third commit is the result of a trial/error run of removing every single feature and then adding it back if compile failed. A bunch of unused features are the result that the third commit removes.
2 parents c5f8123 + ebdea01 commit 0412fd6

File tree

14 files changed

+2
-30
lines changed

14 files changed

+2
-30
lines changed

compiler/rustc_arena/src/lib.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
html_root_url = "https://doc.rust-lang.org/nightly/",
1212
test(no_crate_inject, attr(deny(warnings)))
1313
)]
14-
#![feature(core_intrinsics)]
1514
#![feature(dropck_eyepatch)]
1615
#![feature(new_uninit)]
1716
#![feature(maybe_uninit_slice)]
@@ -24,7 +23,6 @@ use smallvec::SmallVec;
2423
use std::alloc::Layout;
2524
use std::cell::{Cell, RefCell};
2625
use std::cmp;
27-
use std::intrinsics;
2826
use std::marker::{PhantomData, Send};
2927
use std::mem::{self, MaybeUninit};
3028
use std::ptr;
@@ -122,7 +120,7 @@ impl<T> TypedArena<T> {
122120

123121
unsafe {
124122
if mem::size_of::<T>() == 0 {
125-
self.ptr.set(intrinsics::arith_offset(self.ptr.get() as *mut u8, 1) as *mut T);
123+
self.ptr.set((self.ptr.get() as *mut u8).wrapping_offset(1) as *mut T);
126124
let ptr = mem::align_of::<T>() as *mut T;
127125
// Don't drop the object. This `write` is equivalent to `forget`.
128126
ptr::write(ptr, object);

compiler/rustc_ast/src/lib.rs

-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,13 @@
55
//! This API is completely unstable and subject to change.
66
77
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/", test(attr(deny(warnings))))]
8-
#![feature(bool_to_option)]
98
#![feature(box_syntax)]
109
#![feature(const_fn)] // For the `transmute` in `P::new`
1110
#![feature(const_panic)]
12-
#![feature(const_fn_transmute)]
1311
#![feature(crate_visibility_modifier)]
1412
#![feature(label_break_value)]
1513
#![feature(nll)]
1614
#![feature(or_patterns)]
17-
#![feature(try_trait)]
18-
#![feature(unicode_internals)]
1915
#![recursion_limit = "256"]
2016

2117
#[macro_use]

compiler/rustc_codegen_ssa/src/lib.rs

-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
#![feature(or_patterns)]
99
#![feature(trusted_len)]
1010
#![feature(associated_type_bounds)]
11-
#![feature(const_fn)] // for rustc_index::newtype_index
12-
#![feature(const_panic)] // for rustc_index::newtype_index
1311
#![recursion_limit = "256"]
1412

1513
//! This crate contains codegen code that is used by all codegen backends (LLVM and others).

compiler/rustc_data_structures/src/lib.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#![feature(control_flow_enum)]
1212
#![feature(in_band_lifetimes)]
1313
#![feature(unboxed_closures)]
14-
#![feature(generators)]
1514
#![feature(generator_trait)]
1615
#![feature(fn_traits)]
1716
#![feature(int_bits_const)]
@@ -27,7 +26,7 @@
2726
#![feature(thread_id_value)]
2827
#![feature(extend_one)]
2928
#![feature(const_panic)]
30-
#![feature(const_generics)]
29+
#![feature(min_const_generics)]
3130
#![feature(once_cell)]
3231
#![allow(rustc::default_hash_types)]
3332

compiler/rustc_expand/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#![feature(bool_to_option)]
2-
#![feature(cow_is_borrowed)]
32
#![feature(crate_visibility_modifier)]
43
#![feature(decl_macro)]
54
#![feature(or_patterns)]

compiler/rustc_infer/src/lib.rs

-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
//! This API is completely unstable and subject to change.
1414
1515
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/")]
16-
#![feature(bindings_after_at)]
1716
#![feature(bool_to_option)]
1817
#![feature(box_patterns)]
1918
#![feature(box_syntax)]
@@ -23,7 +22,6 @@
2322
#![feature(never_type)]
2423
#![feature(or_patterns)]
2524
#![feature(in_band_lifetimes)]
26-
#![feature(crate_visibility_modifier)]
2725
#![recursion_limit = "512"] // For rustdoc
2826

2927
#[macro_use]

compiler/rustc_middle/src/lib.rs

-5
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,21 @@
3030
#![feature(cmp_min_max_by)]
3131
#![feature(const_fn)]
3232
#![feature(const_panic)]
33-
#![feature(const_fn_transmute)]
3433
#![feature(core_intrinsics)]
3534
#![feature(discriminant_kind)]
36-
#![feature(drain_filter)]
3735
#![feature(never_type)]
38-
#![feature(exhaustive_patterns)]
3936
#![feature(extern_types)]
4037
#![feature(nll)]
4138
#![feature(once_cell)]
4239
#![feature(option_expect_none)]
4340
#![feature(or_patterns)]
4441
#![feature(min_specialization)]
4542
#![feature(trusted_len)]
46-
#![feature(stmt_expr_attributes)]
4743
#![feature(test)]
4844
#![feature(in_band_lifetimes)]
4945
#![feature(crate_visibility_modifier)]
5046
#![feature(associated_type_bounds)]
5147
#![feature(rustc_attrs)]
52-
#![feature(hash_raw_entry)]
5348
#![feature(int_error_matching)]
5449
#![recursion_limit = "512"]
5550

compiler/rustc_mir/src/lib.rs

-3
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@ Rust MIR: a lowered representation of Rust.
1414
#![feature(const_panic)]
1515
#![feature(crate_visibility_modifier)]
1616
#![feature(decl_macro)]
17-
#![feature(drain_filter)]
1817
#![feature(exact_size_is_empty)]
1918
#![feature(exhaustive_patterns)]
20-
#![feature(iter_order_by)]
2119
#![feature(never_type)]
2220
#![feature(min_specialization)]
2321
#![feature(trusted_len)]
2422
#![feature(try_blocks)]
25-
#![feature(associated_type_bounds)]
2623
#![feature(associated_type_defaults)]
2724
#![feature(stmt_expr_attributes)]
2825
#![feature(trait_alias)]

compiler/rustc_parse/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#![feature(bool_to_option)]
44
#![feature(crate_visibility_modifier)]
55
#![feature(bindings_after_at)]
6-
#![feature(try_blocks)]
76
#![feature(or_patterns)]
87

98
use rustc_ast as ast;

compiler/rustc_parse_format/src/lib.rs

-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
)]
1212
#![feature(nll)]
1313
#![feature(or_patterns)]
14-
#![feature(rustc_private)]
15-
#![feature(unicode_internals)]
1614
#![feature(bool_to_option)]
1715

1816
pub use Alignment::*;

compiler/rustc_privacy/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/")]
22
#![feature(in_band_lifetimes)]
33
#![feature(nll)]
4-
#![feature(or_patterns)]
54
#![recursion_limit = "256"]
65

76
use rustc_attr as attr;

compiler/rustc_span/src/lib.rs

-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@
1010
#![feature(const_panic)]
1111
#![feature(negative_impls)]
1212
#![feature(nll)]
13-
#![feature(optin_builtin_traits)]
1413
#![feature(min_specialization)]
1514
#![feature(option_expect_none)]
16-
#![feature(refcell_take)]
1715

1816
#[macro_use]
1917
extern crate rustc_macros;

compiler/rustc_traits/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#![feature(crate_visibility_modifier)]
55
#![feature(in_band_lifetimes)]
66
#![feature(nll)]
7-
#![feature(or_patterns)]
87
#![recursion_limit = "256"]
98

109
#[macro_use]

compiler/rustc_ty/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
//! This API is completely unstable and subject to change.
66
77
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/")]
8-
#![feature(bool_to_option)]
98
#![feature(nll)]
109
#![recursion_limit = "256"]
1110

0 commit comments

Comments
 (0)