Remove `feature(effects)` from the standard library

This commit is contained in:
Deadbeef 2024-06-16 15:04:37 +00:00
parent e32ea4822b
commit 3b14b756d8
10 changed files with 10 additions and 19 deletions

View File

@ -175,7 +175,6 @@
#![feature(const_mut_refs)] #![feature(const_mut_refs)]
#![feature(const_precise_live_drops)] #![feature(const_precise_live_drops)]
#![feature(const_ptr_write)] #![feature(const_ptr_write)]
#![feature(const_trait_impl)]
#![feature(const_try)] #![feature(const_try)]
#![feature(decl_macro)] #![feature(decl_macro)]
#![feature(dropck_eyepatch)] #![feature(dropck_eyepatch)]

View File

@ -245,7 +245,6 @@ use self::Ordering::*;
append_const_msg append_const_msg
)] )]
#[rustc_diagnostic_item = "PartialEq"] #[rustc_diagnostic_item = "PartialEq"]
#[const_trait]
pub trait PartialEq<Rhs: ?Sized = Self> { pub trait PartialEq<Rhs: ?Sized = Self> {
/// This method tests for `self` and `other` values to be equal, and is used /// This method tests for `self` and `other` values to be equal, and is used
/// by `==`. /// by `==`.
@ -1475,8 +1474,7 @@ mod impls {
macro_rules! partial_eq_impl { macro_rules! partial_eq_impl {
($($t:ty)*) => ($( ($($t:ty)*) => ($(
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_cmp", issue = "92391")] impl PartialEq for $t {
impl const PartialEq for $t {
#[inline] #[inline]
fn eq(&self, other: &$t) -> bool { (*self) == (*other) } fn eq(&self, other: &$t) -> bool { (*self) == (*other) }
#[inline] #[inline]

View File

@ -60,7 +60,7 @@ const fn escape_ascii<const N: usize>(byte: u8) -> ([ascii::Char; N], Range<u8>)
const fn escape_unicode<const N: usize>(c: char) -> ([ascii::Char; N], Range<u8>) { const fn escape_unicode<const N: usize>(c: char) -> ([ascii::Char; N], Range<u8>) {
const { assert!(N >= 10 && N < u8::MAX as usize) }; const { assert!(N >= 10 && N < u8::MAX as usize) };
let c = u32::from(c); let c = c as u32;
// OR-ing `1` ensures that for `c == 0` the code computes that // OR-ing `1` ensures that for `c == 0` the code computes that
// one digit should be printed. // one digit should be printed.

View File

@ -515,7 +515,9 @@ impl CStr {
#[inline] #[inline]
#[must_use] #[must_use]
const fn as_non_null_ptr(&self) -> NonNull<c_char> { const fn as_non_null_ptr(&self) -> NonNull<c_char> {
NonNull::from(&self.inner).as_non_null_ptr() // FIXME(effects) replace with `NonNull::from`
// SAFETY: a reference is never null
unsafe { NonNull::new_unchecked(&self.inner as *const [c_char] as *mut [c_char]) }.as_non_null_ptr()
} }
/// Returns the length of `self`. Like C's `strlen`, this does not include the nul terminator. /// Returns the length of `self`. Like C's `strlen`, this does not include the nul terminator.

View File

@ -214,13 +214,11 @@
#![feature(const_mut_refs)] #![feature(const_mut_refs)]
#![feature(const_precise_live_drops)] #![feature(const_precise_live_drops)]
#![feature(const_refs_to_cell)] #![feature(const_refs_to_cell)]
#![feature(const_trait_impl)]
#![feature(decl_macro)] #![feature(decl_macro)]
#![feature(deprecated_suggestion)] #![feature(deprecated_suggestion)]
#![feature(doc_cfg)] #![feature(doc_cfg)]
#![feature(doc_cfg_hide)] #![feature(doc_cfg_hide)]
#![feature(doc_notable_trait)] #![feature(doc_notable_trait)]
#![feature(effects)]
#![feature(extern_types)] #![feature(extern_types)]
#![feature(f128)] #![feature(f128)]
#![feature(f16)] #![feature(f16)]

View File

@ -944,7 +944,6 @@ marker_impls! {
#[lang = "destruct"] #[lang = "destruct"]
#[rustc_on_unimplemented(message = "can't drop `{Self}`", append_const_msg)] #[rustc_on_unimplemented(message = "can't drop `{Self}`", append_const_msg)]
#[rustc_deny_explicit_impl(implement_via_object = false)] #[rustc_deny_explicit_impl(implement_via_object = false)]
#[const_trait]
pub trait Destruct {} pub trait Destruct {}
/// A marker for tuple types. /// A marker for tuple types.

View File

@ -33,7 +33,6 @@ use super::{IntErrorKind, ParseIntError};
reason = "implementation detail which may disappear or be replaced at any time", reason = "implementation detail which may disappear or be replaced at any time",
issue = "none" issue = "none"
)] )]
#[const_trait]
pub unsafe trait ZeroablePrimitive: Sized + Copy + private::Sealed { pub unsafe trait ZeroablePrimitive: Sized + Copy + private::Sealed {
#[doc(hidden)] #[doc(hidden)]
type NonZeroInner: Sized + Copy; type NonZeroInner: Sized + Copy;
@ -47,7 +46,6 @@ macro_rules! impl_zeroable_primitive {
reason = "implementation detail which may disappear or be replaced at any time", reason = "implementation detail which may disappear or be replaced at any time",
issue = "none" issue = "none"
)] )]
#[const_trait]
pub trait Sealed {} pub trait Sealed {}
$( $(
@ -70,14 +68,14 @@ macro_rules! impl_zeroable_primitive {
reason = "implementation detail which may disappear or be replaced at any time", reason = "implementation detail which may disappear or be replaced at any time",
issue = "none" issue = "none"
)] )]
impl const private::Sealed for $primitive {} impl private::Sealed for $primitive {}
#[unstable( #[unstable(
feature = "nonzero_internals", feature = "nonzero_internals",
reason = "implementation detail which may disappear or be replaced at any time", reason = "implementation detail which may disappear or be replaced at any time",
issue = "none" issue = "none"
)] )]
unsafe impl const ZeroablePrimitive for $primitive { unsafe impl ZeroablePrimitive for $primitive {
type NonZeroInner = private::$NonZeroInner; type NonZeroInner = private::$NonZeroInner;
} }
)+ )+

View File

@ -73,7 +73,6 @@
append_const_msg append_const_msg
)] )]
#[doc(alias = "+")] #[doc(alias = "+")]
#[const_trait]
pub trait Add<Rhs = Self> { pub trait Add<Rhs = Self> {
/// The resulting type after applying the `+` operator. /// The resulting type after applying the `+` operator.
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
@ -95,8 +94,7 @@ pub trait Add<Rhs = Self> {
macro_rules! add_impl { macro_rules! add_impl {
($($t:ty)*) => ($( ($($t:ty)*) => ($(
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_ops", issue = "90080")] impl Add for $t {
impl const Add for $t {
type Output = $t; type Output = $t;
#[inline] #[inline]

View File

@ -282,7 +282,7 @@ impl<'a> Context<'a> {
pub const fn ext(&mut self) -> &mut dyn Any { pub const fn ext(&mut self) -> &mut dyn Any {
// FIXME: this field makes Context extra-weird about unwind safety // FIXME: this field makes Context extra-weird about unwind safety
// can we justify AssertUnwindSafe if we stabilize this? do we care? // can we justify AssertUnwindSafe if we stabilize this? do we care?
match &mut *self.ext { match &mut self.ext.0 {
ExtData::Some(data) => *data, ExtData::Some(data) => *data,
ExtData::None(unit) => unit, ExtData::None(unit) => unit,
} }
@ -356,7 +356,7 @@ impl<'a> ContextBuilder<'a> {
#[rustc_const_unstable(feature = "const_waker", issue = "102012")] #[rustc_const_unstable(feature = "const_waker", issue = "102012")]
#[unstable(feature = "context_ext", issue = "123392")] #[unstable(feature = "context_ext", issue = "123392")]
pub const fn from(cx: &'a mut Context<'_>) -> Self { pub const fn from(cx: &'a mut Context<'_>) -> Self {
let ext = match &mut *cx.ext { let ext = match &mut cx.ext.0 {
ExtData::Some(ext) => ExtData::Some(*ext), ExtData::Some(ext) => ExtData::Some(*ext),
ExtData::None(()) => ExtData::None(()), ExtData::None(()) => ExtData::None(()),
}; };

View File

@ -284,7 +284,6 @@
#![feature(cfi_encoding)] #![feature(cfi_encoding)]
#![feature(concat_idents)] #![feature(concat_idents)]
#![feature(const_mut_refs)] #![feature(const_mut_refs)]
#![feature(const_trait_impl)]
#![feature(decl_macro)] #![feature(decl_macro)]
#![feature(deprecated_suggestion)] #![feature(deprecated_suggestion)]
#![feature(doc_cfg)] #![feature(doc_cfg)]