@@ -1121,7 +1121,6 @@ pub trait FnPtr: Copy + Clone {
1121
1121
///
1122
1122
/// By using the macro, the following example will compile:
1123
1123
/// ```
1124
- /// #![feature(derive_coerce_pointee)]
1125
1124
/// use std::marker::CoercePointee;
1126
1125
/// use std::ops::Deref;
1127
1126
///
@@ -1168,7 +1167,7 @@ pub trait FnPtr: Copy + Clone {
1168
1167
/// type as a receiver are dyn-compatible. For example, this compiles:
1169
1168
///
1170
1169
/// ```
1171
- /// #![feature(arbitrary_self_types, derive_coerce_pointee )]
1170
+ /// #![feature(arbitrary_self_types)]
1172
1171
/// use std::marker::CoercePointee;
1173
1172
/// use std::ops::Deref;
1174
1173
///
@@ -1230,7 +1229,6 @@ pub trait FnPtr: Copy + Clone {
1230
1229
/// If the type has multiple type parameters, then you must explicitly specify which one should be
1231
1230
/// used for dynamic dispatch. For example:
1232
1231
/// ```
1233
- /// # #![feature(derive_coerce_pointee)]
1234
1232
/// # use std::marker::{CoercePointee, PhantomData};
1235
1233
/// #[derive(CoercePointee)]
1236
1234
/// #[repr(transparent)]
@@ -1245,7 +1243,6 @@ pub trait FnPtr: Copy + Clone {
1245
1243
///
1246
1244
/// A custom implementation of the `Rc` type:
1247
1245
/// ```
1248
- /// #![feature(derive_coerce_pointee)]
1249
1246
/// use std::marker::CoercePointee;
1250
1247
/// use std::ops::Deref;
1251
1248
/// use std::ptr::NonNull;
@@ -1302,7 +1299,7 @@ pub trait FnPtr: Copy + Clone {
1302
1299
#[ rustc_builtin_macro( CoercePointee , attributes( pointee) ) ]
1303
1300
#[ allow_internal_unstable( dispatch_from_dyn, coerce_unsized, unsize, coerce_pointee_validated) ]
1304
1301
#[ cfg_attr( not( test) , rustc_diagnostic_item = "CoercePointee" ) ]
1305
- #[ unstable ( feature = "derive_coerce_pointee" , issue = "123430 " ) ]
1302
+ #[ stable ( feature = "derive_coerce_pointee" , since = "CURRENT_RUSTC_VERSION " ) ]
1306
1303
pub macro CoercePointee ( $item: item) {
1307
1304
/* compiler built-in */
1308
1305
}
0 commit comments