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)] |