@@ -1168,7 +1168,6 @@ pub trait FnPtr: Copy + Clone {
1168
1168
///
1169
1169
/// By using the macro, the following example will compile:
1170
1170
/// ```
1171
- /// #![feature(derive_coerce_pointee)]
1172
1171
/// use std::marker::CoercePointee;
1173
1172
/// use std::ops::Deref;
1174
1173
///
@@ -1215,7 +1214,7 @@ pub trait FnPtr: Copy + Clone {
1215
1214
/// type as a receiver are dyn-compatible. For example, this compiles:
1216
1215
///
1217
1216
/// ```
1218
- /// #![feature(arbitrary_self_types, derive_coerce_pointee )]
1217
+ /// #![feature(arbitrary_self_types)]
1219
1218
/// use std::marker::CoercePointee;
1220
1219
/// use std::ops::Deref;
1221
1220
///
@@ -1277,7 +1276,6 @@ pub trait FnPtr: Copy + Clone {
1277
1276
/// If the type has multiple type parameters, then you must explicitly specify which one should be
1278
1277
/// used for dynamic dispatch. For example:
1279
1278
/// ```
1280
- /// # #![feature(derive_coerce_pointee)]
1281
1279
/// # use std::marker::{CoercePointee, PhantomData};
1282
1280
/// #[derive(CoercePointee)]
1283
1281
/// #[repr(transparent)]
@@ -1292,7 +1290,6 @@ pub trait FnPtr: Copy + Clone {
1292
1290
///
1293
1291
/// A custom implementation of the `Rc` type:
1294
1292
/// ```
1295
- /// #![feature(derive_coerce_pointee)]
1296
1293
/// use std::marker::CoercePointee;
1297
1294
/// use std::ops::Deref;
1298
1295
/// use std::ptr::NonNull;
@@ -1349,7 +1346,7 @@ pub trait FnPtr: Copy + Clone {
1349
1346
#[ rustc_builtin_macro( CoercePointee , attributes( pointee) ) ]
1350
1347
#[ allow_internal_unstable( dispatch_from_dyn, coerce_unsized, unsize, coerce_pointee_validated) ]
1351
1348
#[ rustc_diagnostic_item = "CoercePointee" ]
1352
- #[ unstable ( feature = "derive_coerce_pointee" , issue = "123430 " ) ]
1349
+ #[ stable ( feature = "derive_coerce_pointee" , since = "CURRENT_RUSTC_VERSION " ) ]
1353
1350
pub macro CoercePointee ( $item: item) {
1354
1351
/* compiler built-in */
1355
1352
}
0 commit comments