aboutsummaryrefslogtreecommitdiff
path: root/vendor/thiserror/tests/test_source.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/thiserror/tests/test_source.rs')
-rw-r--r--vendor/thiserror/tests/test_source.rs65
1 files changed, 0 insertions, 65 deletions
diff --git a/vendor/thiserror/tests/test_source.rs b/vendor/thiserror/tests/test_source.rs
deleted file mode 100644
index 637f4ac..0000000
--- a/vendor/thiserror/tests/test_source.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-use std::error::Error as StdError;
-use std::io;
-use thiserror::Error;
-
-#[derive(Error, Debug)]
-#[error("implicit source")]
-pub struct ImplicitSource {
- source: io::Error,
-}
-
-#[derive(Error, Debug)]
-#[error("explicit source")]
-pub struct ExplicitSource {
- source: String,
- #[source]
- io: io::Error,
-}
-
-#[derive(Error, Debug)]
-#[error("boxed source")]
-pub struct BoxedSource {
- #[source]
- source: Box<dyn StdError + Send + 'static>,
-}
-
-#[test]
-fn test_implicit_source() {
- let io = io::Error::new(io::ErrorKind::Other, "oh no!");
- let error = ImplicitSource { source: io };
- error.source().unwrap().downcast_ref::<io::Error>().unwrap();
-}
-
-#[test]
-fn test_explicit_source() {
- let io = io::Error::new(io::ErrorKind::Other, "oh no!");
- let error = ExplicitSource {
- source: String::new(),
- io,
- };
- error.source().unwrap().downcast_ref::<io::Error>().unwrap();
-}
-
-#[test]
-fn test_boxed_source() {
- let source = Box::new(io::Error::new(io::ErrorKind::Other, "oh no!"));
- let error = BoxedSource { source };
- error.source().unwrap().downcast_ref::<io::Error>().unwrap();
-}
-
-macro_rules! error_from_macro {
- ($($variants:tt)*) => {
- #[derive(Error)]
- #[derive(Debug)]
- pub enum MacroSource {
- $($variants)*
- }
- }
-}
-
-// Test that we generate impls with the proper hygiene
-#[rustfmt::skip]
-error_from_macro! {
- #[error("Something")]
- Variant(#[from] io::Error)
-}