diff options
Diffstat (limited to '')
-rw-r--r-- | vendor/thiserror/src/aserror.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vendor/thiserror/src/aserror.rs b/vendor/thiserror/src/aserror.rs index c036b7b09..5fea84ef8 100644 --- a/vendor/thiserror/src/aserror.rs +++ b/vendor/thiserror/src/aserror.rs @@ -1,7 +1,7 @@ use std::error::Error; use std::panic::UnwindSafe; -pub trait AsDynError<'a> { +pub trait AsDynError<'a>: Sealed { fn as_dyn_error(&self) -> &(dyn Error + 'a); } @@ -39,3 +39,10 @@ impl<'a> AsDynError<'a> for dyn Error + Send + Sync + UnwindSafe + 'a { self } } + +pub trait Sealed {} +impl<'a, T: Error + 'a> Sealed for T {} +impl<'a> Sealed for dyn Error + 'a {} +impl<'a> Sealed for dyn Error + Send + 'a {} +impl<'a> Sealed for dyn Error + Send + Sync + 'a {} +impl<'a> Sealed for dyn Error + Send + Sync + UnwindSafe + 'a {} |