@@ -2374,7 +2374,7 @@ impl dyn Error + Send {
|
2374 | 2374 | let err: Box<dyn Error> = self; |
2375 | 2375 | <dyn Error>::downcast(err).map_err(|s| unsafe { |
2376 | 2376 | // Reapply the `Send` marker. |
2377 | | -Box::from_raw(Box::into_raw(s) as *mut (dyn Error + Send)) |
| 2377 | +mem::transmute::<Box<dyn Error>, Box<dyn Error + Send>>(s) |
2378 | 2378 | }) |
2379 | 2379 | } |
2380 | 2380 | } |
@@ -2387,8 +2387,8 @@ impl dyn Error + Send + Sync {
|
2387 | 2387 | pub fn downcast<T: Error + 'static>(self: Box<Self>) -> Result<Box<T>, Box<Self>> { |
2388 | 2388 | let err: Box<dyn Error> = self; |
2389 | 2389 | <dyn Error>::downcast(err).map_err(|s| unsafe { |
2390 | | -// Reapply the `Send + Sync` marker. |
2391 | | -Box::from_raw(Box::into_raw(s) as *mut (dyn Error + Send + Sync)) |
| 2390 | +// Reapply the `Send + Sync` markers. |
| 2391 | +mem::transmute::<Box<dyn Error>, Box<dyn Error + Send + Sync>>(s) |
2392 | 2392 | }) |
2393 | 2393 | } |
2394 | 2394 | } |
|