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
//! `RedactableWithMapper` implementations for standard library types.
//!
//! This module provides `RedactableWithMapper` implementations for common std
//! containers (`Option`, `Vec`, `Box`, maps, sets). When walking into these
//! containers, they recursively apply redaction to their contents.
//!
//! ## Map Keys Are Not Redacted
//!
//! For map containers (`HashMap`, `BTreeMap`), only **values** are redacted.
//! Keys are left untouched by design to preserve hashing/ordering invariants.
//! Do not place sensitive data in map keys unless you intend it to remain visible.
//!
//! ## Set Redaction Can Collapse Elements
//!
//! For set containers (`HashSet`, `BTreeSet`), redaction is applied to each
//! element and the results are collected back into a set. If redaction changes
//! equality or ordering (e.g., multiple values redact to `"[REDACTED]"`), the
//! resulting set may shrink.
// =============================================================================
// Passthrough implementation helper
// =============================================================================
pub use impl_redactable_container_passthrough;