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
//! [`ObligationDate`] — when a passport obligation begins, and on whose authority.
use ;
/// Whether a date was read from an adopted text or is carried as an assumption.
///
/// The same distinction [`RetentionBasis`](crate::catalog::RetentionBasis) draws
/// for retention figures, generalised — because the failure it prevents is the
/// same one, and it has already happened once here. A date inferred from an
/// *ecodesign* application date was shipped as a **passport** application date,
/// and nothing in the record said it was inferred. A plausible date with no
/// traceable source is indistinguishable from a sourced one unless the type
/// makes the difference visible.
/// The date a passport obligation begins, with the provenance of that date.
///
/// A struct rather than two loose fields so a date cannot exist without its
/// basis: [`PassportObligation::Required`](crate::instrument::PassportObligation::Required) with no date at all is a legitimate
/// state — the act mandates a passport and has not yet fixed when — and it
/// leaves no orphaned basis behind.