fix trap behavior

This commit is contained in:
Pat Hickey
2021-10-21 15:07:32 -07:00
parent 351a51cce6
commit c0a1af94cf

View File

@@ -385,7 +385,10 @@ impl std::error::Error for Trap {
impl From<anyhow::Error> for Trap {
fn from(e: anyhow::Error) -> Trap {
Box::<dyn std::error::Error + Send + Sync>::from(e).into()
match e.downcast::<Trap>() {
Ok(trap) => trap,
Err(e) => Box::<dyn std::error::Error + Send + Sync>::from(e).into(),
}
}
}