Rollup merge of #126552 - fee1-dead-contrib:rmfx, r=compiler-errors · model-checking/verify-rust-std@ec8af4b (original) (raw)

10 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -175,7 +175,6 @@
175 175 #![feature(const_mut_refs)]
176 176 #![feature(const_precise_live_drops)]
177 177 #![feature(const_ptr_write)]
178 -#![feature(const_trait_impl)]
179 178 #![feature(const_try)]
180 179 #![feature(decl_macro)]
181 180 #![feature(dropck_eyepatch)]
Original file line number Diff line number Diff line change
@@ -245,7 +245,6 @@ use self::Ordering::*;
245 245 append_const_msg
246 246 )]
247 247 #[rustc_diagnostic_item = "PartialEq"]
248 -#[const_trait]
249 248 pub trait PartialEq<Rhs: ?Sized = Self> {
250 249 /// This method tests for `self` and `other` values to be equal, and is used
251 250 /// by `==`.
@@ -1475,8 +1474,7 @@ mod impls {
1475 1474 macro_rules! partial_eq_impl {
1476 1475 ($($t:ty)*) => ($(
1477 1476 #[stable(feature = "rust1", since = "1.0.0")]
1478 - #[rustc_const_unstable(feature = "const_cmp", issue = "92391")]
1479 -impl const PartialEq for $t {
1477 +impl PartialEq for $t {
1480 1478 #[inline]
1481 1479 fn eq(&self, other: &$t) -> bool { (*self) == (*other) }
1482 1480 #[inline]
Original file line number Diff line number Diff line change
@@ -60,7 +60,7 @@ const fn escape_ascii(byte: u8) -> ([ascii::Char; N], Range)
60 60 const fn escape_unicode<const N: usize>(c: char) -> ([ascii::Char; N], Range<u8>) {
61 61 const { assert!(N >= 10 && N < u8::MAX as usize) };
62 62
63 -let c = u32::from(c);
63 +let c = c as u32;
64 64
65 65 // OR-ing `1` ensures that for `c == 0` the code computes that
66 66 // one digit should be printed.
Original file line number Diff line number Diff line change
@@ -515,7 +515,10 @@ impl CStr {
515 515 #[inline]
516 516 #[must_use]
517 517 const fn as_non_null_ptr(&self) -> NonNull<c_char> {
518 -NonNull::from(&self.inner).as_non_null_ptr()
518 +// FIXME(effects) replace with `NonNull::from`
519 +// SAFETY: a reference is never null
520 +unsafe { NonNull::new_unchecked(&self.inner as *const [c_char] as *mut [c_char]) }
521 +.as_non_null_ptr()
519 522 }
520 523
521 524 /// Returns the length of `self`. Like C's `strlen`, this does not include the nul terminator.
Original file line number Diff line number Diff line change
@@ -200,6 +200,7 @@
200 200 // Language features:
201 201 // tidy-alphabetical-start
202 202 #![cfg_attr(bootstrap, feature(c_unwind))]
203 +#![cfg_attr(bootstrap, feature(effects))]
203 204 #![feature(abi_unadjusted)]
204 205 #![feature(adt_const_params)]
205 206 #![feature(allow_internal_unsafe)]
@@ -214,13 +215,11 @@
214 215 #![feature(const_mut_refs)]
215 216 #![feature(const_precise_live_drops)]
216 217 #![feature(const_refs_to_cell)]
217 -#![feature(const_trait_impl)]
218 218 #![feature(decl_macro)]
219 219 #![feature(deprecated_suggestion)]
220 220 #![feature(doc_cfg)]
221 221 #![feature(doc_cfg_hide)]
222 222 #![feature(doc_notable_trait)]
223 -#![feature(effects)]
224 223 #![feature(extern_types)]
225 224 #![feature(f128)]
226 225 #![feature(f16)]
Original file line number Diff line number Diff line change
@@ -944,7 +944,6 @@ marker_impls! {
944 944 #[lang = "destruct"]
945 945 #[rustc_on_unimplemented(message = "can't drop `{Self}`", append_const_msg)]
946 946 #[rustc_deny_explicit_impl(implement_via_object = false)]
947 -#[const_trait]
948 947 pub trait Destruct {}
949 948
950 949 /// A marker for tuple types.
Original file line number Diff line number Diff line change
@@ -33,7 +33,6 @@ use super::{IntErrorKind, ParseIntError};
33 33 reason = "implementation detail which may disappear or be replaced at any time",
34 34 issue = "none"
35 35 )]
36 -#[const_trait]
37 36 pub unsafe trait ZeroablePrimitive: Sized + Copy + private::Sealed {
38 37 #[doc(hidden)]
39 38 type NonZeroInner: Sized + Copy;
@@ -47,7 +46,6 @@ macro_rules! impl_zeroable_primitive {
47 46 reason = "implementation detail which may disappear or be replaced at any time",
48 47 issue = "none"
49 48 )]
50 - #[const_trait]
51 49 pub trait Sealed {}
52 50
53 51 $(
@@ -70,14 +68,14 @@ macro_rules! impl_zeroable_primitive {
70 68 reason = "implementation detail which may disappear or be replaced at any time",
71 69 issue = "none"
72 70 )]
73 -impl const private::Sealed for $primitive {}
71 +impl private::Sealed for $primitive {}
74 72
75 73 #[unstable(
76 74 feature = "nonzero_internals",
77 75 reason = "implementation detail which may disappear or be replaced at any time",
78 76 issue = "none"
79 77 )]
80 -unsafe impl const ZeroablePrimitive for $primitive {
78 +unsafe impl ZeroablePrimitive for $primitive {
81 79 type NonZeroInner = private::$NonZeroInner;
82 80 }
83 81 )+
Original file line number Diff line number Diff line change
@@ -73,7 +73,6 @@
73 73 append_const_msg
74 74 )]
75 75 #[doc(alias = "+")]
76 -#[const_trait]
77 76 pub trait Add<Rhs = Self> {
78 77 /// The resulting type after applying the `+` operator.
79 78 #[stable(feature = "rust1", since = "1.0.0")]
@@ -95,8 +94,7 @@ pub trait Add<Rhs = Self> {
95 94 macro_rules! add_impl {
96 95 ($($t:ty)*) => ($(
97 96 #[stable(feature = "rust1", since = "1.0.0")]
98 - #[rustc_const_unstable(feature = "const_ops", issue = "90080")]
99 -impl const Add for $t {
97 +impl Add for $t {
100 98 type Output = $t;
101 99
102 100 #[inline]
Original file line number Diff line number Diff line change
@@ -282,7 +282,7 @@ impl<'a> Context<'a> {
282 282 pub const fn ext(&mut self) -> &mut dyn Any {
283 283 // FIXME: this field makes Context extra-weird about unwind safety
284 284 // can we justify AssertUnwindSafe if we stabilize this? do we care?
285 -match &mut *self.ext {
285 +match &mut self.ext.0 {
286 286 ExtData::Some(data) => *data,
287 287 ExtData::None(unit) => unit,
288 288 }
@@ -356,7 +356,7 @@ impl<'a> ContextBuilder<'a> {
356 356 #[rustc_const_unstable(feature = "const_waker", issue = "102012")]
357 357 #[unstable(feature = "context_ext", issue = "123392")]
358 358 pub const fn from(cx: &'a mut Context<'_>) -> Self {
359 -let ext = match &mut *cx.ext {
359 +let ext = match &mut cx.ext.0 {
360 360 ExtData::Some(ext) => ExtData::Some(*ext),
361 361 ExtData::None(()) => ExtData::None(()),
362 362 };
Original file line number Diff line number Diff line change
@@ -284,7 +284,6 @@
284 284 #![feature(cfi_encoding)]
285 285 #![feature(concat_idents)]
286 286 #![feature(const_mut_refs)]
287 -#![feature(const_trait_impl)]
288 287 #![feature(decl_macro)]
289 288 #![feature(deprecated_suggestion)]
290 289 #![feature(doc_cfg)]