Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f728505
D13 (b1): whole-closure DependencyDemand reducer, Undecided by cause,…
Oct 2, 2026
65c7e3f
D13 (b1): demand claims match every DependencyDemand arm (no wildcard…
Oct 2, 2026
d41d41b
D13 (b2): dependency-demand census route, demand-census verb and inst…
Oct 2, 2026
332e057
D13 (b2): regenerate the stage0 emit_rust mirror for the demand-censu…
Oct 2, 2026
83102cf
D13 (b2): spell the census in forms the v1 parser reads (no match/if …
Oct 2, 2026
e2fdd04
D13 (b2): build the census report lines from a flat part list (the 28…
Oct 2, 2026
577e957
D13 (b2): name the census's fields and binders apart from the resourc…
Oct 2, 2026
4f582f8
D13 (b1): a stable cause join and exact-cause convergence (review: a …
Oct 2, 2026
4b6d1e3
Merge branch 'session/sleek-boar-665-demand-reducer' into session/sle…
Oct 2, 2026
cd006ef
D13 (b2): the rendered main imports native_demand_census_output
Oct 2, 2026
36d95c1
D13 (b2): regenerate the stage0 emit_rust mirror
Oct 2, 2026
c6f2f87
D13 (b2): the production-control context is read by one claim and not…
Oct 2, 2026
f185e3a
D13 (b1): resource sets and fn membership are keyed (review 74173: un…
Oct 2, 2026
dcd5566
Merge branch 'session/sleek-boar-665-demand-reducer' into session/sle…
Oct 2, 2026
4774381
D13 (b2): the census reads demand through the keyed resource sets (fo…
Oct 2, 2026
1407b7f
Merge remote-tracking branch 'origin/main' into session/sleek-boar-66…
Oct 2, 2026
cc2af66
D13 (b2): review 74228 (canonical arrow query, counts by variant, voc…
Oct 2, 2026
2bff055
D13 (b2): per-row standings and exact deletable identities; FunctionV…
Oct 2, 2026
02ae64d
Merge origin/main into D13 (b2): adapt the census walk to the EdgeLab…
Oct 2, 2026
35f6cff
Merge remote-tracking branch 'origin/main' into session/sleek-boar-66…
Oct 2, 2026
4c7554d
D13 (b2): regenerate the stage0 emit_rust mirror on the merged tree
Oct 2, 2026
16e6b7c
D13 (b2): a function-value call is the evaluator's call (eval_transfo…
Oct 2, 2026
d32e9c7
Merge origin/main into D13 (b2) (brings #12998); the dispatch choice …
Oct 2, 2026
cebd330
D13 (b2): regenerate instrument-dispatch.yml with the dependency-dema…
Oct 2, 2026
8034225
D13 (b2): a call through a named function parameter is a function-val…
Oct 3, 2026
ac21cb6
Merge origin/main into D13 (b2); stage0 emit_rust mirror regenerated …
Oct 3, 2026
5fe49df
D13 (b2): regenerate the stage0 emit_rust mirror on the merged tree
Oct 3, 2026
ec4cef1
chore: regenerate drifted generated artifacts (ci auto-heal)
gunbai-bot[bot] Oct 3, 2026
8c6878a
Merge origin/main into D13 (b2)
Oct 3, 2026
9259ca2
Merge the CI auto-heal commit; docs/design-rung-drops.md is main's (r…
Oct 3, 2026
402260f
Merge origin/main into D13 (b2)
Oct 3, 2026
de77122
Merge origin/main into D13 (b2); stage0 emit_rust mirror regenerated …
Oct 3, 2026
cbf752b
D13 (b2): regenerate the stage0 emit_rust mirror on the merged tree
Oct 3, 2026
1eec9a8
Merge origin/main into D13 (b2): union with #13026 (v2-native-census)…
Oct 3, 2026
11de102
D13 (b2): regenerate instrument-dispatch.yml and the stage0 emit_rust…
Oct 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/instrument-dispatch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
label:
description: The rostered instrument to run (gunbc.instrument_targets); the run executes `gunbc test <label>` at the dispatched ref.
required: true
options: [//gunbc/instruments:dag-emit-real-grammar-round-trips, //gunbc/instruments:self-host-behavioral-equivalence]
options: [//gunbc/instruments:dag-emit-real-grammar-round-trips, //gunbc/instruments:self-host-behavioral-equivalence, //gunbc/instruments:dependency-demand-census]
type: choice
permissions:
contents: read
Expand Down
28 changes: 28 additions & 0 deletions dag/gunbc/dependency_demand_census_seed_growth.dag
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
module gunbc.dependency_demand_census_seed_growth

import gunbc.roadmap_model { RoadmapNodeId }
import gunbc.seed_growth { SeedGrowthJustification }
import std.decl_ref { DeclarationRef, WholeDeclaration }

data dependency_demand_census_seed_growth_justification: SeedGrowthJustification = SeedGrowthJustification {
hand_authored_declarations: [
DeclarationRef {
module_path: "v1_compiler.cli_run.native_lane_runner",
decl_name: "run_v2_demand_census",
field: WholeDeclaration
},
DeclarationRef {
module_path: "v1_compiler.target_invocation_host",
decl_name: "run_dependency_demand_census",
field: WholeDeclaration
}
],

reason: "The producer arm for D13's dependency-demand census (gunbc.target_binding DependencyDemandCensusProducer). Its host part is only what no .dag fold can do: emit and build the compiler closure through the existing prepare_emitted_compiler, spawn the built binary in its demand-census verb, and relay its stdout and status unjudged. Every line and the exit are decided by v2.compiler.compile native_demand_census_output inside the emitted binary, so the host adds no verdict. It sits in the host because the census reads the whole corpus through the emitted front end, which no interpreted .dag entry can afford, and the instrument is how D13's row-deletion change executes it at its own head.",

owning_dissolution_lane: "v1-hand-queue-drain" as RoadmapNodeId,

trigger: "Delete these declarations when gunbc test's producer dispatch is emitted rather than hand-mirrored (the capability gunbc.target_invocation_seed_growth names for target_invocation_host as a whole) AND an emitted driver can spawn a built program and hand its stdout and status to a .dag fold, SUFFICIENT FOR //gunbc/instruments:dependency-demand-census to run with no hand-authored producer body.",

current_boundary: "src/v1/stage0/src/cli_run/native_lane_runner.rs run_v2_demand_census, called once from src/v1/stage0/src/target_invocation_host.rs run_dependency_demand_census, behind gunbc test //gunbc/instruments:dependency-demand-census"
}
19 changes: 17 additions & 2 deletions dag/gunbc/instrument_targets.dag
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import gunbc.target_binding {
DifferentialReadingExecutionRefused, DifferentialObservationAssemblyRefused,
BareReferenceChannelOutcomeProducer,
SelfHostBehavioralEquivalenceProducer,
DependencyDemandCensusProducer,
BareChannelEligibility, BareChannelRuns, BareChannelDisabledByImportLine,
BareReferenceChannelEntryReading, BareReferenceChannelExpectation,
BareReferenceChannelStanding, BareReferenceChannelRead,
Expand Down Expand Up @@ -386,6 +387,16 @@ fn self_host_behavioral_equivalence_label() -> Label {
Label { package: instruments_package() target: TargetName { name: "self-host-behavioral-equivalence" } }
}

// D13 DEPENDENCY-DEMAND CENSUS (v2.compiler.compile native_demand_census_output, the emitted compiler's
// `demand-census` verb): one row per fn that authors a `uses` clause, pairing the authored rows with
// the demand derived over the whole closure and a verdict scoped to the audited vocabulary (Network).
// Run by name, on no lane: its consumer is the D13 row-deletion change, which executes it at its own
// head as part of its evidence rather than citing an earlier run.
// `gunbc test //gunbc/instruments:dependency-demand-census`.
fn dependency_demand_census_label() -> Label {
Label { package: instruments_package() target: TargetName { name: "dependency-demand-census" } }
}

// THE INSTRUMENT IS A `TestRule` WITH NO DEPENDENCIES, and both halves are measurements rather
// than placeholders. It answers a test question — does the heads reading read the same grammar as
// the full reading — so it is not a `BuildRule`; and it depends on no other target in this graph,
Expand Down Expand Up @@ -466,6 +477,10 @@ fn self_host_behavioral_equivalence_binding() -> TargetBinding {
TargetBinding { target: self_host_behavioral_equivalence_label() producer: SelfHostBehavioralEquivalenceProducer {} }
}

fn dependency_demand_census_binding() -> TargetBinding {
TargetBinding { target: dependency_demand_census_label() producer: DependencyDemandCensusProducer {} }
}

fn emitted_crate_workspace_binding() -> TargetBinding {
TargetBinding { target: emitted_crate_workspace_label() producer: EmittedCrateWorkspaceProducer {} }
}
Expand Down Expand Up @@ -635,7 +650,7 @@ fn instrument_targets() -> List<Label> {
primitive_egress_census_v2_label(), primitive_egress_census_dag_label(),
primitive_egress_census_seed_label(), floor_memory_qualification_label(), typed_graph_exclusive_bytes_label(), typed_graph_exclusive_bytes_floor_subject_label(),
required_lane_resolution_census_label(), bare_reference_channel_outcome_label(),
self_host_behavioral_equivalence_label(),
self_host_behavioral_equivalence_label(), dependency_demand_census_label(),
emitted_crate_workspace_label(),
native_crypto_vectors_label(), native_app_attest_label(), dag_emit_real_grammar_round_trips_label()
]
Expand All @@ -650,7 +665,7 @@ fn instrument_bindings() -> List<TargetBinding> {
primitive_egress_census_v2_binding(), primitive_egress_census_dag_binding(),
primitive_egress_census_seed_binding(), floor_memory_qualification_binding(), typed_graph_exclusive_bytes_binding(), typed_graph_exclusive_bytes_floor_subject_binding(),
required_lane_resolution_census_binding(), bare_reference_channel_outcome_binding(),
self_host_behavioral_equivalence_binding(),
self_host_behavioral_equivalence_binding(), dependency_demand_census_binding(),
emitted_crate_workspace_binding(),
native_crypto_vectors_binding(), native_app_attest_binding(), dag_emit_real_grammar_round_trips_binding()
]
Expand Down
4 changes: 2 additions & 2 deletions dag/gunbc/instruments/instrument_dispatch_workflow.dag
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import gunbc.ci_runner_target { gunbc_ci_selected_runner_spec }
import gunbc.compiler_gate_workflow { compiler_gate_hosted_build_prelude_bound_steps }
import gunbc.witness_floor_workflow { witness_toolchain_homes_isolated_guard_step }
import gunbc.instrument_targets {
dag_emit_real_grammar_round_trips_label, self_host_behavioral_equivalence_label, instrument_targets,
dag_emit_real_grammar_round_trips_label, self_host_behavioral_equivalence_label, dependency_demand_census_label, instrument_targets,
}
import v2.workflow.bash_emit { bash_emit_stmts }
import v2.extdeps.languages.bash_build {
Expand Down Expand Up @@ -90,7 +90,7 @@ data instrument_dispatch_timeout_minutes: Int = 240
// emitted crate built per roster module exceeds the free remote runner's one-hour cap, and its
// receipt is taken on purpose (gunbc.self_host_behavioral_equivalence_receipt), never per change.
fn instrument_dispatch_labels() -> List<Label> {
[dag_emit_real_grammar_round_trips_label(), self_host_behavioral_equivalence_label()]
[dag_emit_real_grammar_round_trips_label(), self_host_behavioral_equivalence_label(), dependency_demand_census_label()]
}

fn instrument_dispatch_label_options() -> List<String> {
Expand Down
2 changes: 2 additions & 0 deletions dag/gunbc/seed_growth_admission.dag
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ import gunbc.source_root_eval_driver_seed_growth { source_root_eval_driver_seed_
import gunbc.gen_one_executable_keep_seed_growth { gen_one_executable_keep_seed_growth_justification }
import gunbc.emitted_build_failure_retention_seed_growth { emitted_build_failure_retention_seed_growth_justification }
import gunbc.native_claim_program_seed_growth { native_claim_program_seed_growth_justification }
import gunbc.dependency_demand_census_seed_growth { dependency_demand_census_seed_growth_justification }
import gunbc.native_route_refusal_summary_seed_growth { native_route_refusal_summary_seed_growth_justification }
import gunbc.native_route_advisory_summary_seed_growth { native_route_advisory_summary_seed_growth_justification }
import gunbc.observation_file_effect_seed_growth { observation_file_effect_seed_growth_justification }
Expand Down Expand Up @@ -289,6 +290,7 @@ fn seed_growth_justification_roster() -> List<SeedGrowthJustification> {
gen_one_executable_keep_seed_growth_justification,
emitted_build_failure_retention_seed_growth_justification,
native_claim_program_seed_growth_justification,
dependency_demand_census_seed_growth_justification,
native_route_refusal_summary_seed_growth_justification,
native_route_advisory_summary_seed_growth_justification,
census_memo_seed_growth_justification,
Expand Down
1 change: 1 addition & 0 deletions dag/gunbc/target_binding.dag
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ type TargetProducer
| RequiredLaneResolutionCensusProducer
| BareReferenceChannelOutcomeProducer
| SelfHostBehavioralEquivalenceProducer
| DependencyDemandCensusProducer
| NativeClaimProgramProducer { entry: String }

type TargetBinding {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,9 @@ test fn the_receipt_is_seeded_before_the_fallible_prelude_holds() -> Bool {
&& any(names, n => n == "Checkout")
&& any(names, n => n == "Build the compiler")
}

// THE FLEET ROUTE SELECTS THE D13 CENSUS: the generated choice carries that exact label, so D13's
// row-deletion change can dispatch the census at its own head (review of gunbc#12992).
test fn the_dispatch_choice_offers_the_dependency_demand_census_holds() -> Bool {
contains(generated_text(), "//gunbc/instruments:dependency-demand-census")
}
14 changes: 14 additions & 0 deletions dag/test/claim/target_invocation_witness_test.dag
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import gunbc.target_binding {
DifferentialSourceRootAbsent, DifferentialReadingExecutionRefused,
BareReferenceChannelOutcomeProducer,
SelfHostBehavioralEquivalenceProducer,
DependencyDemandCensusProducer,
BareChannelEligibility, BareChannelRuns, BareChannelDisabledByImportLine,
BareReferenceChannelEntryReading,
BareReferenceChannelStanding, BareReferenceChannelRead,
Expand Down Expand Up @@ -81,6 +82,7 @@ import gunbc.instrument_targets {
primitive_egress_census_v2_label,
required_lane_resolution_census_label,
self_host_behavioral_equivalence_label,
dependency_demand_census_label,
compile_clean_diagnostic_census_termination,
compile_clean_diagnostic_census_standing_rendered,
instrument_targets, instrument_bindings,
Expand Down Expand Up @@ -894,6 +896,18 @@ test fn the_self_host_behavioral_equivalence_operand_routes_to_its_own_producer(
}
}

// D13's dependency-demand census is a label bound to its own producer, never a mode of another
// instrument.
test fn the_dependency_demand_census_operand_routes_to_its_own_producer() -> Bool {
match invoke_target(operand: "//gunbc/instruments:dependency-demand-census") {
TargetInvocationRouted { binding: b } =>
label_eq(a: b.target, b: dependency_demand_census_label())
&& (b.producer == DependencyDemandCensusProducer {})
&& !(b.producer == SelfHostBehavioralEquivalenceProducer {})
TargetInvocationRouteRefused { cause: _ } => false
}
}

// ---------------------------------------------------------------------------------------------
// THE BARE-REFERENCE CHANNEL'S OWN CLASSIFIER, EXERCISED ON ITS OWN VOCABULARY
// ---------------------------------------------------------------------------------------------
Expand Down
19 changes: 19 additions & 0 deletions src/v1/05_emit_rust.dag
Original file line number Diff line number Diff line change
Expand Up @@ -17885,6 +17885,7 @@ fn emit_source_root_eval_driver_main_rs(crate_name: String, pipeline_module: Str
" native_census_residual_rows,", "\n",
" native_census_cause_groups_add_residual, native_census_cause_groups_from_file_refusals,", "\n",
" native_census_cause_group_rows,", "\n",
" native_demand_census_output,", "\n",
" native_lane_controls, native_lane_file_refusal_index,", "\n",
" native_lane_closure_ingest, native_lane_closure_modules, native_lane_closure_round_budget,", "\n",
" native_lane_ingest_matches_closure, native_lane_ingest_receipt, native_lane_receipt,", "\n",
Expand Down Expand Up @@ -18209,6 +18210,23 @@ fn emit_source_root_eval_driver_main_rs(crate_name: String, pipeline_module: Str
" );", "\n",
"\}", "\n",
"\n",
"// THE FOURTH MODE: D13's DEPENDENCY-DEMAND CENSUS (v2.compiler.compile native_demand_census_output).", "\n",
"// The fold decides every line and the exit -- 0 held, 1 a census whose rows do not account for", "\n",
"// every uses fn, 2 no observation -- and this function only reads the ingest, prints and exits.", "\n",
"fn run_demand_census(source_roots: &[String]) \{", "\n",
" if source_roots.is_empty() \{", "\n",
" eprintln!(\"REFUSED: no source roots given\");", "\n",
" std::process::exit(2);", "\n",
" \}", "\n",
" let reads = read_ingest(source_roots);", "\n",
" let ingest = Rc::new(im::vector::Vector::from(reads));", "\n",
" let output = native_demand_census_output(ingest);", "\n",
" for line in output.lines.iter() \{", "\n",
" println!(\"{}\", line);", "\n",
" \}", "\n",
" std::process::exit(output.exit as i32);", "\n",
"\}", "\n",
"", "\n",
"fn native_cost_quantile_nanos(sorted: &[u128], numer: usize, denom: usize) -> u128 \{", "\n",
" if sorted.is_empty() \{ return 0; \}", "\n",
" let idx = (sorted.len() - 1) * numer / denom;", "\n",
Expand Down Expand Up @@ -18947,6 +18965,7 @@ fn emit_source_root_eval_driver_main_rs(crate_name: String, pipeline_module: Str
" match verb \{", "\n",
" NativeDriverVerb::NativeDriverCensus \{ .. \} => run_census(&source_roots),", "\n",
" NativeDriverVerb::NativeDriverCensusResolve \{ .. \} => run_census_resolve(&source_roots),", "\n",
" NativeDriverVerb::NativeDriverDemandCensus \{ .. \} => run_demand_census(&source_roots),", "\n",
" NativeDriverVerb::NativeDriverAdjudicate \{ facts_path, pattern, .. \} => run_adjudication(facts_path, Rc::new(TargetPattern::clone(pattern)), &source_roots),", "\n",
" \}", "\n",
" \}", "\n",
Expand Down
6 changes: 3 additions & 3 deletions src/v1/stage0/src/cli_run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,9 @@ mod serve_budget_refusal;
pub use emitted_crate_workspace_host::{run_emitted_crate_workspace, EmittedCrateWorkspaceHeld};
pub use native_lane_runner::{
emitted_build_not_clean_cause, run_native_claim_program, run_required_v2_native, run_self_host,
run_v2_native_census, run_v2_native_cli, run_v2_native_frontier, NativeCensusRun,
NativeClaimProgramRun, NativeFrontierRun, NativeMemberTermination, NativeRouteOutcome,
SelfHostHeld, V2NativeCliHeld,
run_v2_demand_census, run_v2_native_census, run_v2_native_cli, run_v2_native_frontier,
NativeCensusRun, NativeClaimProgramRun, NativeFrontierRun, NativeMemberTermination,
NativeRouteOutcome, SelfHostHeld, V2NativeCliHeld,
};
pub(crate) use required_floor_runner::*;
pub use required_floor_runner::{
Expand Down
32 changes: 32 additions & 0 deletions src/v1/stage0/src/cli_run/native_lane_runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3661,3 +3661,35 @@ mod emitted_build_not_clean_cause_tests {
);
}
}

/// D13's DEPENDENCY-DEMAND CENSUS, RUN BY THE EMITTED COMPILER (`demand-census` verb). The seed's
/// whole job is the preparation it shares with every native instrument; the census is the emitted
/// binary's, which prints its own lines and decides its own exit. The child's stdout is relayed
/// line for line and its status is returned unjudged.
pub fn run_v2_demand_census(source_roots: &[String]) -> Result<i32, String> {
let preparation = prepare_emitted_compiler(source_roots)?;
let mut args = vec!["demand-census".to_string()];
args.extend(source_roots.iter().cloned());
let output = Command::new(&preparation.binary_path)
.args(&args)
.output()
.map_err(|e| {
format!(
"V2-NATIVE REFUSAL cause=NativeRunSpawnFailed — spawning {}: {e}",
preparation.binary_path.display()
)
})?;
let stdout = String::from_utf8(output.stdout).map_err(|cause| {
format!("V2-NATIVE REFUSAL cause=NativeRunStdoutNotUtf8 — demand-census stdout: {cause}")
})?;
for line in stdout.lines() {
println!("{line}");
}
for line in String::from_utf8_lossy(&output.stderr).lines() {
eprintln!("{line}");
}
output.status.code().ok_or_else(|| {
"V2-NATIVE REFUSAL cause=NativeRunKilled — the demand-census child exited without a status"
.to_string()
})
}
33 changes: 33 additions & 0 deletions src/v1/stage0/src/target_invocation_host.rs
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ pub enum TargetProducer {
RequiredLaneResolutionCensus,
BareReferenceChannelOutcome,
SelfHostBehavioralEquivalence,
DependencyDemandCensus,
/// `NativeClaimProgramProducer { entry }`: the entry is carried, so a second program of the same
/// shape is a registry row naming its entry, never another variant.
NativeClaimProgram {
Expand Down Expand Up @@ -406,6 +407,10 @@ fn instrument_registry() -> Vec<(Label, TargetProducer)> {
instrument_label("self-host-behavioral-equivalence"),
TargetProducer::SelfHostBehavioralEquivalence,
),
(
instrument_label("dependency-demand-census"),
TargetProducer::DependencyDemandCensus,
),
]
}

Expand Down Expand Up @@ -814,6 +819,9 @@ fn run_producer(producer: TargetProducer) -> InvocationOutcome {
"primitive_egress_census_seed_exit",
),
TargetProducer::BareReferenceChannelOutcome => run_bare_reference_channel_outcome(),
TargetProducer::DependencyDemandCensus => {
run_dependency_demand_census(&self_host_source_roots())
}
TargetProducer::SelfHostBehavioralEquivalence => run_cli_wire_census(
"self-host-behavioral-equivalence",
"dag/gunbc/instruments/self_host_behavioral_equivalence_take.dag",
Expand Down Expand Up @@ -3047,3 +3055,28 @@ mod binary_freshness_tests {
assert!(outcome.message.contains("a.rs"));
}
}

/// THE DEPENDENCY-DEMAND CENSUS PRODUCER (D13 step b2; `gunbc.instrument_targets`
/// `dependency_demand_census_label`). The seed emits and builds the compiler closure exactly as the
/// self-host step does, and spawns it in `demand-census` mode over the same corpus; every line and
/// the exit are decided by `v2.compiler.compile` `native_demand_census_output`, so the host adds no
/// verdict: exit 0 is the census holding (its rows account for every uses fn), 1 is a census finding,
/// and 2 or a refused preparation is no observation.
fn run_dependency_demand_census(source_roots: &[String]) -> InvocationOutcome {
match cli_run::run_v2_demand_census(source_roots) {
Ok(code) => InvocationOutcome {
termination: match code {
0 => Termination::ObservationHeld,
1 => Termination::ObservationDidNotHold,
_ => Termination::SubjectUnreached,
},
message: format!(
"dependency-demand-census: exit {code}; the [demand-census] lines above are the census"
),
},
Err(cause) => InvocationOutcome {
termination: Termination::SubjectUnreached,
message: cause,
},
}
}
2 changes: 1 addition & 1 deletion src/v1/stage0/src/v1_compiler_emit_rust.rs

Large diffs are not rendered by default.

Loading