@@ -190,7 +190,6 @@ use core::fmt;
190
190
use core:: future:: Future ;
191
191
use core:: pin:: Pin ;
192
192
use core:: task:: { Context , Poll } ;
193
- use pin_project_lite:: pin_project;
194
193
195
194
/// A non-blocking result
196
195
pub type Result < T , E > = :: core:: result:: Result < T , Error < E > > ;
@@ -269,10 +268,9 @@ macro_rules! block {
269
268
}
270
269
} ;
271
270
}
272
- pin_project ! {
273
- pub struct NbFuture <Ok , Err , Gen : FnMut ( ) -> Result <Ok , Err >> {
274
- gen : Gen ,
275
- }
271
+
272
+ pub struct NbFuture < Ok , Err , Gen : FnMut ( ) -> Result < Ok , Err > > {
273
+ gen : Gen ,
276
274
}
277
275
278
276
impl < Ok , Err , Gen : FnMut ( ) -> Result < Ok , Err > > From < Gen > for NbFuture < Ok , Err , Gen > {
@@ -285,8 +283,8 @@ impl<Ok, Err, Gen: FnMut() -> Result<Ok, Err>> Future for NbFuture<Ok, Err, Gen>
285
283
type Output = core:: result:: Result < Ok , Err > ;
286
284
287
285
fn poll ( self : Pin < & mut Self > , _cx : & mut Context < ' _ > ) -> Poll < Self :: Output > {
288
- let this = self . project ( ) ;
289
- let res = ( this . gen ) ( ) ;
286
+ let gen = unsafe { & mut self . get_unchecked_mut ( ) . gen } ;
287
+ let res = gen ( ) ;
290
288
291
289
match res {
292
290
Ok ( res) => Poll :: Ready ( Ok ( res) ) ,
0 commit comments