@@ -39,7 +39,6 @@ pub mod timer;
3939pub use fast_timeout:: fast_sleep as sleep;
4040pub use fast_timeout:: fast_timeout as timeout;
4141
42- use futures:: future:: BoxFuture ;
4342use pin_project_lite:: pin_project;
4443use std:: future:: Future ;
4544use std:: pin:: Pin ;
@@ -50,7 +49,7 @@ use tokio::time::{sleep as tokio_sleep, Duration};
5049///
5150/// Users don't need to interact with this trait
5251pub trait ToTimeout {
53- fn timeout ( & self ) -> BoxFuture < ' static , ( ) > ;
52+ fn timeout ( & self ) -> Pin < Box < dyn Future < Output = ( ) > + Send + Sync > > ;
5453 fn create ( d : Duration ) -> Self ;
5554}
5655
@@ -60,7 +59,7 @@ pub trait ToTimeout {
6059pub struct TokioTimeout ( Duration ) ;
6160
6261impl ToTimeout for TokioTimeout {
63- fn timeout ( & self ) -> BoxFuture < ' static , ( ) > {
62+ fn timeout ( & self ) -> Pin < Box < dyn Future < Output = ( ) > + Send + Sync > > {
6463 Box :: pin ( tokio_sleep ( self . 0 ) )
6564 }
6665
@@ -100,7 +99,7 @@ pin_project! {
10099 #[ pin]
101100 value: T ,
102101 #[ pin]
103- delay: Option <BoxFuture < ' static , ( ) >>,
102+ delay: Option <Pin < Box <dyn Future < Output = ( ) > + Send + Sync > >>,
104103 callback: F , // callback to create the timer
105104 }
106105}
0 commit comments