Skip to main content

FIRSTPARTY_ID_BLOCK

Constant FIRSTPARTY_ID_BLOCK 

Source
pub const FIRSTPARTY_ID_BLOCK: u32 = 1_000_000;
Expand description

A memoized parse of one first-party synthetic source, keyed by the call-site’s own cache static — each of phase_parse’s 7 injection sites below passes a distinct one. Finding #55/#65: the source text is a fixed include_str! constant, so its parse is a pure function of that constant and only needs computing once per process, not once per compile/analyse round. The gating below (consumes_bynk, uses_map, etc.) is unaffected — it still runs fresh for every project from that project’s own parsed uses/consumes; only the parse result being gated is cached. T3.4 (R2.4): each first-party synthetic unit reserves its own 1M-wide ExprId block, spaced far above anything a real project’s own file count could ever reach — see firstparty_parsed’s doc comment for why a fixed reservation, not a threaded counter, is the right shape here.