Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35
remove pointless allowed_through_unstable_modules on TryFromSliceError This got added in https://github.com/rust-lang/rust/pull/132482 but the PR does not explain why. `@lukas-code` do you still remember? Also Cc `@Noratrieb` as reviewer of that PR. If I understand the issue description correctly, all paths under which this type is exported are stable now: `core::array::TryFromSliceError` and `std::array::TryFromSliceError`. If that is the case, we shouldn't have the attribute; it's a terrible hack that should only be used when needed to maintain backward compatibility. Getting some historic information right is IMO *not* sufficient justification to risk accidentally exposing this type via more unstable paths today or in the future.
This commit is contained in:
@@ -156,7 +156,6 @@ pub const fn from_mut<T>(s: &mut T) -> &mut [T; 1] {
|
|||||||
|
|
||||||
/// The error type returned when a conversion from a slice to an array fails.
|
/// The error type returned when a conversion from a slice to an array fails.
|
||||||
#[stable(feature = "try_from", since = "1.34.0")]
|
#[stable(feature = "try_from", since = "1.34.0")]
|
||||||
#[rustc_allowed_through_unstable_modules]
|
|
||||||
#[derive(Debug, Copy, Clone)]
|
#[derive(Debug, Copy, Clone)]
|
||||||
pub struct TryFromSliceError(());
|
pub struct TryFromSliceError(());
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ Previously, due to a [rustc bug], stable items inside unstable modules were
|
|||||||
available to stable code in that location.
|
available to stable code in that location.
|
||||||
As of <!-- date-check --> September 2024, items with [accidentally stabilized
|
As of <!-- date-check --> September 2024, items with [accidentally stabilized
|
||||||
paths] are marked with the `#[rustc_allowed_through_unstable_modules]` attribute
|
paths] are marked with the `#[rustc_allowed_through_unstable_modules]` attribute
|
||||||
to prevent code dependent on those paths from breaking.
|
to prevent code dependent on those paths from breaking. Do *not* add this attribute
|
||||||
|
to any more items unless that is needed to avoid breaking changes.
|
||||||
|
|
||||||
The `unstable` attribute may also have the `soft` value, which makes it a
|
The `unstable` attribute may also have the `soft` value, which makes it a
|
||||||
future-incompatible deny-by-default lint instead of a hard error. This is used
|
future-incompatible deny-by-default lint instead of a hard error. This is used
|
||||||
|
|||||||
Reference in New Issue
Block a user