@@ -1190,7 +1190,6 @@ pub trait FnPtr: Copy + Clone {
1190
1190
///
1191
1191
/// By using the macro, the following example will compile:
1192
1192
/// ```
1193
- /// #![feature(derive_coerce_pointee)]
1194
1193
/// use std::marker::CoercePointee;
1195
1194
/// use std::ops::Deref;
1196
1195
///
@@ -1237,7 +1236,7 @@ pub trait FnPtr: Copy + Clone {
1237
1236
/// type as a receiver are dyn-compatible. For example, this compiles:
1238
1237
///
1239
1238
/// ```
1240
- /// #![feature(arbitrary_self_types, derive_coerce_pointee )]
1239
+ /// #![feature(arbitrary_self_types)]
1241
1240
/// use std::marker::CoercePointee;
1242
1241
/// use std::ops::Deref;
1243
1242
///
@@ -1299,7 +1298,6 @@ pub trait FnPtr: Copy + Clone {
1299
1298
/// If the type has multiple type parameters, then you must explicitly specify which one should be
1300
1299
/// used for dynamic dispatch. For example:
1301
1300
/// ```
1302
- /// # #![feature(derive_coerce_pointee)]
1303
1301
/// # use std::marker::{CoercePointee, PhantomData};
1304
1302
/// #[derive(CoercePointee)]
1305
1303
/// #[repr(transparent)]
@@ -1314,7 +1312,6 @@ pub trait FnPtr: Copy + Clone {
1314
1312
///
1315
1313
/// A custom implementation of the `Rc` type:
1316
1314
/// ```
1317
- /// #![feature(derive_coerce_pointee)]
1318
1315
/// use std::marker::CoercePointee;
1319
1316
/// use std::ops::Deref;
1320
1317
/// use std::ptr::NonNull;
@@ -1371,7 +1368,7 @@ pub trait FnPtr: Copy + Clone {
1371
1368
#[ rustc_builtin_macro( CoercePointee , attributes( pointee) ) ]
1372
1369
#[ allow_internal_unstable( dispatch_from_dyn, coerce_unsized, unsize, coerce_pointee_validated) ]
1373
1370
#[ rustc_diagnostic_item = "CoercePointee" ]
1374
- #[ unstable ( feature = "derive_coerce_pointee" , issue = "123430 " ) ]
1371
+ #[ stable ( feature = "derive_coerce_pointee" , since = "CURRENT_RUSTC_VERSION " ) ]
1375
1372
pub macro CoercePointee ( $item: item) {
1376
1373
/* compiler built-in */
1377
1374
}
0 commit comments