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
//! Carver inventory registration (fleet ADR 0001 §2/§8, M2).
//!
//! A parser crate registers its carver with
//! `inventory::submit! { CarverRegistration::new(&MY_CARVER) }`. Any binary that
//! force-links that crate then auto-collects the carver, and a consumer
//! (`issen`'s `CarverSelector`, `memf-carve`, `mem4n6`) reads the whole set via
//! [`registered_carvers`] **without depending on the parser crates directly** — the
//! decoupling keeps `memf-carve` free of the parser fleet.
use crateCarver;
/// A carver registration submitted by a parser crate. Holds a `'static` reference to
/// the carver so it can live in the inventory's link-time set.
collect!;
/// Every carver registered (via `inventory::submit!`) into the final binary.
///
/// Empty unless the binary force-links the producer crates — the same anchoring
/// discipline `issen-parsers` uses so dead-code elimination does not drop the
/// registrations.