summaryrefslogtreecommitdiffstats
path: root/third_party/rust/thiserror/tests/ui/lifetime.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/thiserror/tests/ui/lifetime.rs')
-rw-r--r--third_party/rust/thiserror/tests/ui/lifetime.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/rust/thiserror/tests/ui/lifetime.rs b/third_party/rust/thiserror/tests/ui/lifetime.rs
new file mode 100644
index 0000000000..698f8c4e8a
--- /dev/null
+++ b/third_party/rust/thiserror/tests/ui/lifetime.rs
@@ -0,0 +1,24 @@
+use std::fmt::Debug;
+use thiserror::Error;
+
+#[derive(Error, Debug)]
+#[error("error")]
+struct Error<'a>(#[from] Inner<'a>);
+
+#[derive(Error, Debug)]
+#[error("{0}")]
+struct Inner<'a>(&'a str);
+
+#[derive(Error, Debug)]
+enum Enum<'a> {
+ #[error("error")]
+ Foo(#[from] Generic<&'a str>),
+}
+
+#[derive(Error, Debug)]
+#[error("{0:?}")]
+struct Generic<T: Debug>(T);
+
+fn main() -> Result<(), Error<'static>> {
+ Err(Error(Inner("some text")))
+}