File tree Expand file tree Collapse file tree 2 files changed +7
-6
lines changed Expand file tree Collapse file tree 2 files changed +7
-6
lines changed Original file line number Diff line number Diff line change @@ -96,12 +96,13 @@ fn schedule(t: async_task::Task<Tag>) {
9696/// Spawns a blocking task.
9797///
9898/// The task will be spawned onto a thread pool specifically dedicated to blocking tasks.
99- pub ( crate ) fn spawn < F , R > ( future : F ) -> JoinHandle < R >
99+ pub ( crate ) fn spawn < F , R > ( f : F ) -> JoinHandle < R >
100100where
101- F : Future < Output = R > + Send + ' static ,
101+ F : FnOnce ( ) -> R + Send + ' static ,
102102 R : Send + ' static ,
103103{
104104 let tag = Tag :: new ( None ) ;
105+ let future = async move { f ( ) } ;
105106 let ( task, handle) = async_task:: spawn ( future, schedule, tag) ;
106107 task. schedule ( ) ;
107108 JoinHandle :: new ( handle)
Original file line number Diff line number Diff line change @@ -73,7 +73,7 @@ cfg_if::cfg_if! {
7373/// #
7474/// use async_std::task;
7575///
76- /// task::blocking(async {
76+ /// task::blocking(|| {
7777/// println!("long-running task here");
7878/// }).await;
7979/// #
@@ -84,10 +84,10 @@ cfg_if::cfg_if! {
8484#[ cfg( any( feature = "unstable" , feature = "docs" ) ) ]
8585#[ cfg_attr( feature = "docs" , doc( cfg( unstable) ) ) ]
8686#[ inline]
87- pub fn blocking < F , R > ( future : F ) -> task:: JoinHandle < R >
87+ pub fn blocking < F , R > ( f : F ) -> task:: JoinHandle < R >
8888where
89- F : crate :: future :: Future < Output = R > + Send + ' static ,
89+ F : FnOnce ( ) -> R + Send + ' static ,
9090 R : Send + ' static ,
9191{
92- blocking:: spawn ( future)
92+ blocking:: spawn_blocking ( future)
9393}
You can’t perform that action at this time.
0 commit comments