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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//! Forma Module IR: binary format definitions and parsers.
//!
//! This crate provides the IR parser and native server-side HTML walker.
//!
//! Fragment walking is internal; server consumers render the page with
//! [`walk_to_html`] or [`walk_to_html_counted`]. Neither historical path is public:
//!
//! ```compile_fail
//! use forma_ir::walk_island;
//! ```
//! ```compile_fail
//! use forma_ir::walker::walk_island;
//! ```
//! ```compile_fail
//! use forma_ir::walker::walk_island_with_limits;
//! ```
//! Test features do not expose a fragment renderer either:
//! ```compile_fail
//! use forma_ir::parser::test_helpers::walk_island;
//! ```
// README.md and SECURITY.md both promise "Zero `unsafe` blocks". This is what
// makes that a compiler-enforced property of the shipped library rather than a
// claim. It is crate-root rather than a `[lints]` entry because `[lints]`
// covers every target in the package, and the allocation-counting harness in
// `tests/list_scaling.rs` must implement `GlobalAlloc` — a separate crate, not
// code that ships.
// No `unwrap`, `expect` or `panic!` in the code that ships (DR-12, SR44): a
// walk returns its failure, it does not take the request down. Tests may.
/// On-disk FMIR layout: header, section table, opcodes, and the table entry
/// types. See `docs/FMIR-FORMAT.md` for the stability contract.
/// Canonical row identity for keyed lists (FORMA-181): the key domain, the
/// path read and the text written as `data-forma-key`. Crate-private; the
/// shared vectors are `tests/fixtures/parity/keys.json`.
/// Bounds-checked parsing and one-shot structural validation of an FMIR file.
/// Derived page contracts, schema comparison and checked value encoding.
/// Typed props schema, key paths and source positions carried by FMIR v3.
/// Runtime slot values and the dense `SlotData` a page handler populates.
/// Rule-1 text normalization shared by the walker's ordinary text and
/// attribute writes (FORMA-182). Crate-private: not part of the API.
/// The SSR walker: opcode stream plus slot values in, HTML out.
/// INTERNAL, behind the `__fault-injection` feature: the stand-in component
/// that panics, for SR44's tests. Never in a build that ships.
/// Internal property-test adapters; absent from ordinary dependency builds.
/// Human-readable text dump of a module, for debugging and diffing.
/// Derive a named props struct or unit enum.
pub use PageProps;
pub use PageProps;
// Re-exports for convenience
pub use ;
pub use ;
pub use ;
pub use ;
// The combined page/fragment corpus has private access to the internal walker.
// No feature exports a fragment renderer to consumers.