aboutsummaryrefslogtreecommitdiff
path: root/src/private/cast/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/private/cast/error.rs')
-rw-r--r--src/private/cast/error.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/private/cast/error.rs b/src/private/cast/error.rs
new file mode 100644
index 0000000..c6ed01d
--- /dev/null
+++ b/src/private/cast/error.rs
@@ -0,0 +1,20 @@
+use crate::private::cast::{CasterError, GetCasterError};
+
+#[derive(thiserror::Error, Debug)]
+pub enum CastError
+{
+ #[error("Failed to get caster")]
+ GetCasterFailed(#[from] GetCasterError),
+
+ #[error("Failed to cast from {from} to {to}")]
+ CastFailed
+ {
+ #[source]
+ source: CasterError,
+ from: &'static str,
+ to: &'static str,
+ },
+
+ #[error("'{0}' can't be cast to an Arc")]
+ NotArcCastable(&'static str),
+}