aboutsummaryrefslogtreecommitdiff
path: root/vendor/thiserror/tests/test_error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/thiserror/tests/test_error.rs')
-rw-r--r--vendor/thiserror/tests/test_error.rs56
1 files changed, 56 insertions, 0 deletions
diff --git a/vendor/thiserror/tests/test_error.rs b/vendor/thiserror/tests/test_error.rs
new file mode 100644
index 0000000..fab934d
--- /dev/null
+++ b/vendor/thiserror/tests/test_error.rs
@@ -0,0 +1,56 @@
+#![allow(dead_code)]
+
+use std::fmt::{self, Display};
+use std::io;
+use thiserror::Error;
+
+macro_rules! unimplemented_display {
+ ($ty:ty) => {
+ impl Display for $ty {
+ fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result {
+ unimplemented!()
+ }
+ }
+ };
+}
+
+#[derive(Error, Debug)]
+struct BracedError {
+ msg: String,
+ pos: usize,
+}
+
+#[derive(Error, Debug)]
+struct TupleError(String, usize);
+
+#[derive(Error, Debug)]
+struct UnitError;
+
+#[derive(Error, Debug)]
+struct WithSource {
+ #[source]
+ cause: io::Error,
+}
+
+#[derive(Error, Debug)]
+struct WithAnyhow {
+ #[source]
+ cause: anyhow::Error,
+}
+
+#[derive(Error, Debug)]
+enum EnumError {
+ Braced {
+ #[source]
+ cause: io::Error,
+ },
+ Tuple(#[source] io::Error),
+ Unit,
+}
+
+unimplemented_display!(BracedError);
+unimplemented_display!(TupleError);
+unimplemented_display!(UnitError);
+unimplemented_display!(WithSource);
+unimplemented_display!(WithAnyhow);
+unimplemented_display!(EnumError);