File tree 1 file changed +5
-2
lines changed
1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -67,9 +67,12 @@ impl TaskPool {
67
67
let executor: & ' env async_executor:: LocalExecutor < ' env > =
68
68
unsafe { mem:: transmute ( executor) } ;
69
69
70
+ let results: Mutex < Vec < Arc < Mutex < Option < T > > > > > = Mutex :: new ( Vec :: new ( ) ) ;
71
+ let results: & ' env Mutex < Vec < Arc < Mutex < Option < T > > > > > = unsafe { mem:: transmute ( & results) } ;
72
+
70
73
let mut scope = Scope {
71
74
executor,
72
- results : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) ,
75
+ results,
73
76
scope : PhantomData ,
74
77
} ;
75
78
@@ -126,7 +129,7 @@ impl FakeTask {
126
129
pub struct Scope < ' scope , ' env : ' scope , T > {
127
130
executor : & ' env async_executor:: LocalExecutor < ' env > ,
128
131
// Vector to gather results of all futures spawned during scope run
129
- results : Arc < Mutex < Vec < Arc < Mutex < Option < T > > > > > > ,
132
+ results : & ' env Mutex < Vec < Arc < Mutex < Option < T > > > > > ,
130
133
scope : PhantomData < & ' scope ( ) > ,
131
134
}
132
135
You can’t perform that action at this time.
0 commit comments