]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
1 | #![deny(clippy::all, clippy::pedantic)] |
2 | #![allow(dead_code)] | |
3 | ||
4 | use std::fmt::{self, Display}; | |
5 | use std::io; | |
6 | use thiserror::Error; | |
7 | ||
8 | macro_rules! unimplemented_display { | |
9 | ($ty:ty) => { | |
10 | impl Display for $ty { | |
11 | fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result { | |
12 | unimplemented!() | |
13 | } | |
14 | } | |
15 | }; | |
16 | } | |
17 | ||
18 | #[derive(Error, Debug)] | |
19 | struct BracedError { | |
20 | msg: String, | |
21 | pos: usize, | |
22 | } | |
23 | ||
24 | #[derive(Error, Debug)] | |
25 | struct TupleError(String, usize); | |
26 | ||
27 | #[derive(Error, Debug)] | |
28 | struct UnitError; | |
29 | ||
30 | #[derive(Error, Debug)] | |
31 | struct WithSource { | |
32 | #[source] | |
33 | cause: io::Error, | |
34 | } | |
35 | ||
36 | #[derive(Error, Debug)] | |
37 | struct WithAnyhow { | |
38 | #[source] | |
39 | cause: anyhow::Error, | |
40 | } | |
41 | ||
42 | #[derive(Error, Debug)] | |
43 | enum EnumError { | |
44 | Braced { | |
45 | #[source] | |
46 | cause: io::Error, | |
47 | }, | |
48 | Tuple(#[source] io::Error), | |
49 | Unit, | |
50 | } | |
51 | ||
52 | unimplemented_display!(BracedError); | |
53 | unimplemented_display!(TupleError); | |
54 | unimplemented_display!(UnitError); | |
55 | unimplemented_display!(WithSource); | |
56 | unimplemented_display!(WithAnyhow); | |
57 | unimplemented_display!(EnumError); |