1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! Library-level error type for `rusty_pee`.
//!
//! Uses `thiserror` to produce typed errors per AD-012; the binary boundary
//! wraps these in `anyhow::Result` for human-readable diagnostics.
/// Errors returned by the `rusty_pee` library API.
///
/// Per FR-028 + FR-029, the enum carries the enum-level `#[non_exhaustive]`
/// marker (protects future variant additions) AND each non-unit variant
/// individually carries `#[non_exhaustive]` (protects future field additions
/// inside variants).
///
/// # Examples
///
/// ```
/// use rusty_pee::Error;
///
/// let e = Error::CompatibilityViolation("--capture not honored in Strict mode");
/// assert_eq!(e.to_string(), "compatibility violation: --capture not honored in Strict mode");
/// ```