Simplify downcast_ref and downcast_mut

This commit is contained in:
David Tolnay 2019-10-08 09:26:07 -07:00
parent 83f63a6544
commit 8895b006a7
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -290,7 +290,7 @@ impl Error {
E: Display + Debug + Send + Sync + 'static,
{
if self.is::<E>() {
unsafe { Some(&*(self.inner.error() as *const dyn StdError as *const E)) }
Some(unsafe { &*(&self.inner.error as *const () as *const E) })
} else {
None
}
@ -302,7 +302,7 @@ impl Error {
E: Display + Debug + Send + Sync + 'static,
{
if self.is::<E>() {
unsafe { Some(&mut *(self.inner.error_mut() as *mut dyn StdError as *mut E)) }
Some(unsafe { &mut *(&mut self.inner.error as *mut () as *mut E) })
} else {
None
}