@@ -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 |
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 |
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 |
} |