@@ -1125,7 +1125,6 @@ pub trait FnPtr: Copy + Clone {
1125
1125
///
1126
1126
/// By using the macro, the following example will compile:
1127
1127
/// ```
1128
- /// #![feature(derive_coerce_pointee)]
1129
1128
/// use std::marker::CoercePointee;
1130
1129
/// use std::ops::Deref;
1131
1130
///
@@ -1172,7 +1171,7 @@ pub trait FnPtr: Copy + Clone {
1172
1171
/// type as a receiver are dyn-compatible. For example, this compiles:
1173
1172
///
1174
1173
/// ```
1175
- /// #![feature(arbitrary_self_types, derive_coerce_pointee )]
1174
+ /// #![feature(arbitrary_self_types)]
1176
1175
/// use std::marker::CoercePointee;
1177
1176
/// use std::ops::Deref;
1178
1177
///
@@ -1234,7 +1233,6 @@ pub trait FnPtr: Copy + Clone {
1234
1233
/// If the type has multiple type parameters, then you must explicitly specify which one should be
1235
1234
/// used for dynamic dispatch. For example:
1236
1235
/// ```
1237
- /// # #![feature(derive_coerce_pointee)]
1238
1236
/// # use std::marker::{CoercePointee, PhantomData};
1239
1237
/// #[derive(CoercePointee)]
1240
1238
/// #[repr(transparent)]
@@ -1249,7 +1247,6 @@ pub trait FnPtr: Copy + Clone {
1249
1247
///
1250
1248
/// A custom implementation of the `Rc` type:
1251
1249
/// ```
1252
- /// #![feature(derive_coerce_pointee)]
1253
1250
/// use std::marker::CoercePointee;
1254
1251
/// use std::ops::Deref;
1255
1252
/// use std::ptr::NonNull;
@@ -1306,7 +1303,7 @@ pub trait FnPtr: Copy + Clone {
1306
1303
#[ rustc_builtin_macro( CoercePointee , attributes( pointee) ) ]
1307
1304
#[ allow_internal_unstable( dispatch_from_dyn, coerce_unsized, unsize, coerce_pointee_validated) ]
1308
1305
#[ rustc_diagnostic_item = "CoercePointee" ]
1309
- #[ unstable ( feature = "derive_coerce_pointee" , issue = "123430 " ) ]
1306
+ #[ stable ( feature = "derive_coerce_pointee" , since = "CURRENT_RUSTC_VERSION " ) ]
1310
1307
pub macro CoercePointee ( $item: item) {
1311
1308
/* compiler built-in */
1312
1309
}
0 commit comments