use locate_error::Locate;
use locate_error::Location;
#[derive(Locate)]
enum TestEnum {
Variant1(#[locate_from] String, Location, String),
}
#[derive(Locate)]
enum TestEnum2 {
Variant1(#[locate_from] String),
}
#[derive(Locate)]
enum TestEnum3 {
Variant1(String, Location),
Variant2(String),
}
#[derive(Locate)]
enum TestEnum4 {
Variant1(#[locate_from] String, Location, #[locate_from] u32),
}
#[derive(Locate)]
enum TestEnum5 {
Variant1(#[locate_from] String, u32),
}
#[derive(Debug, Locate, thiserror::Error)]
enum TestEnum6 {
#[error(transparent)]
Variant1(#[locate_from] SomeError),
}
#[derive(Debug, thiserror::Error)]
#[error("Error message")]
struct SomeError {
message: String,
}
fn main() {}