summaryrefslogtreecommitdiffstats
path: root/third_party/rust/thiserror/tests/ui/lifetime.rs
blob: 698f8c4e8a13c688fd31747fec6b011dd9ec76ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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")))
}