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>) {
96
96
/// Spawns a blocking task.
97
97
///
98
98
/// 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 >
100
100
where
101
- F : Future < Output = R > + Send + ' static ,
101
+ F : FnOnce ( ) -> R + Send + ' static ,
102
102
R : Send + ' static ,
103
103
{
104
104
let tag = Tag :: new ( None ) ;
105
+ let future = async move { f ( ) } ;
105
106
let ( task, handle) = async_task:: spawn ( future, schedule, tag) ;
106
107
task. schedule ( ) ;
107
108
JoinHandle :: new ( handle)
Original file line number Diff line number Diff line change @@ -68,7 +68,7 @@ pub(crate) mod blocking;
68
68
/// #
69
69
/// use async_std::task;
70
70
///
71
- /// task::blocking(async {
71
+ /// task::blocking(|| {
72
72
/// println!("long-running task here");
73
73
/// }).await;
74
74
/// #
@@ -79,10 +79,10 @@ pub(crate) mod blocking;
79
79
#[ cfg( any( feature = "unstable" , feature = "docs" ) ) ]
80
80
#[ cfg_attr( feature = "docs" , doc( cfg( unstable) ) ) ]
81
81
#[ inline]
82
- pub fn blocking < F , R > ( future : F ) -> task:: JoinHandle < R >
82
+ pub fn blocking < F , R > ( f : F ) -> task:: JoinHandle < R >
83
83
where
84
- F : crate :: future :: Future < Output = R > + Send + ' static ,
84
+ F : FnOnce ( ) -> R + Send + ' static ,
85
85
R : Send + ' static ,
86
86
{
87
- blocking:: spawn ( future)
87
+ blocking:: spawn_blocking ( future)
88
88
}
You can’t perform that action at this time.
0 commit comments