@@ -1111,38 +1111,38 @@ pub unsafe fn unreachable() -> ! {
1111
1111
/// A pinned reference is a lot like a mutable reference, except that it is not
1112
1112
/// safe to move a value out of a pinned reference unless the type of that
1113
1113
/// value implements the `Unpin` trait.
1114
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1114
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1115
1115
#[ fundamental]
1116
1116
pub struct Pin < ' a , T : ?Sized + ' a > {
1117
1117
inner : & ' a mut T ,
1118
1118
}
1119
1119
1120
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1120
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1121
1121
impl < ' a , T : ?Sized + Unpin > Pin < ' a , T > {
1122
1122
/// Construct a new `Pin` around a reference to some data of a type that
1123
1123
/// implements `Unpin`.
1124
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1124
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1125
1125
pub fn new ( reference : & ' a mut T ) -> Pin < ' a , T > {
1126
1126
Pin { inner : reference }
1127
1127
}
1128
1128
}
1129
1129
1130
1130
1131
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1131
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1132
1132
impl < ' a , T : ?Sized > Pin < ' a , T > {
1133
1133
/// Construct a new `Pin` around a reference to some data of a type that
1134
1134
/// may or may not implement `Unpin`.
1135
1135
///
1136
1136
/// This constructor is unsafe because we do not know what will happen with
1137
1137
/// that data after the reference ends. If you cannot guarantee that the
1138
1138
/// data will never move again, calling this constructor is invalid.
1139
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1139
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1140
1140
pub unsafe fn new_unchecked ( reference : & ' a mut T ) -> Pin < ' a , T > {
1141
1141
Pin { inner : reference }
1142
1142
}
1143
1143
1144
1144
/// Borrow a Pin for a shorter lifetime than it already has.
1145
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1145
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1146
1146
pub fn borrow < ' b > ( this : & ' b mut Pin < ' a , T > ) -> Pin < ' b , T > {
1147
1147
Pin { inner : this. inner }
1148
1148
}
@@ -1152,7 +1152,7 @@ impl<'a, T: ?Sized> Pin<'a, T> {
1152
1152
/// This function is unsafe. You must guarantee that you will never move
1153
1153
/// the data out of the mutable reference you receive when you call this
1154
1154
/// function.
1155
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1155
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1156
1156
pub unsafe fn get_mut < ' b > ( this : & ' b mut Pin < ' a , T > ) -> & ' b mut T {
1157
1157
this. inner
1158
1158
}
@@ -1166,15 +1166,15 @@ impl<'a, T: ?Sized> Pin<'a, T> {
1166
1166
/// will not move so long as the argument value does not move (for example,
1167
1167
/// because it is one of the fields of that value), and also that you do
1168
1168
/// not move out of the argument you receive to the interior function.
1169
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1169
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1170
1170
pub unsafe fn map < ' b , U , F > ( this : & ' b mut Pin < ' a , T > , f : F ) -> Pin < ' b , U > where
1171
1171
F : FnOnce ( & mut T ) -> & mut U
1172
1172
{
1173
1173
Pin { inner : f ( this. inner ) }
1174
1174
}
1175
1175
}
1176
1176
1177
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1177
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1178
1178
impl < ' a , T : ?Sized > Deref for Pin < ' a , T > {
1179
1179
type Target = T ;
1180
1180
@@ -1183,33 +1183,33 @@ impl<'a, T: ?Sized> Deref for Pin<'a, T> {
1183
1183
}
1184
1184
}
1185
1185
1186
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1186
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1187
1187
impl < ' a , T : ?Sized + Unpin > DerefMut for Pin < ' a , T > {
1188
1188
fn deref_mut ( & mut self ) -> & mut T {
1189
1189
self . inner
1190
1190
}
1191
1191
}
1192
1192
1193
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1193
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1194
1194
impl < ' a , T : fmt:: Debug + ?Sized > fmt:: Debug for Pin < ' a , T > {
1195
1195
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
1196
1196
fmt:: Debug :: fmt ( & * * self , f)
1197
1197
}
1198
1198
}
1199
1199
1200
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1200
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1201
1201
impl < ' a , T : fmt:: Display + ?Sized > fmt:: Display for Pin < ' a , T > {
1202
1202
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
1203
1203
fmt:: Display :: fmt ( & * * self , f)
1204
1204
}
1205
1205
}
1206
1206
1207
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1207
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1208
1208
impl < ' a , T : ?Sized > fmt:: Pointer for Pin < ' a , T > {
1209
1209
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
1210
1210
fmt:: Pointer :: fmt ( & ( & * self . inner as * const T ) , f)
1211
1211
}
1212
1212
}
1213
1213
1214
- #[ unstable( feature = "pin" , issue = "0 " ) ]
1214
+ #[ unstable( feature = "pin" , issue = "49150 " ) ]
1215
1215
impl < ' a , T : ?Sized + Unsize < U > , U : ?Sized > CoerceUnsized < Pin < ' a , U > > for Pin < ' a , T > { }
0 commit comments