1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -561,7 +561,8 @@ impl Builder {
561
561
let main = Box :: new ( main) ;
562
562
// SAFETY: dynamic size and alignment of the Box remain the same. See below for why the
563
563
// lifetime change is justified.
564
- let main = unsafe { Box :: from_raw ( Box :: into_raw ( main) as * mut ( dyn FnOnce ( ) + ' static ) ) } ;
564
+ let main =
565
+ unsafe { Box :: from_raw ( Box :: into_raw ( main) as * mut ( dyn FnOnce ( ) + Send + ' static ) ) } ;
565
566
566
567
Ok ( JoinInner {
567
568
// SAFETY:
@@ -1544,7 +1545,7 @@ struct Packet<'scope, T> {
1544
1545
// The type `T` should already always be Send (otherwise the thread could not
1545
1546
// have been created) and the Packet is Sync because all access to the
1546
1547
// `UnsafeCell` synchronized (by the `join()` boundary), and `ScopeData` is Sync.
1547
- unsafe impl < ' scope , T : Sync > Sync for Packet < ' scope , T > { }
1548
+ unsafe impl < ' scope , T : Send > Sync for Packet < ' scope , T > { }
1548
1549
1549
1550
impl < ' scope , T > Drop for Packet < ' scope , T > {
1550
1551
fn drop ( & mut self ) {
0 commit comments