Result: done Files: crates/nikaia-std/src/tools/emit_build.nika crates/nikaia-std/src/tools/lowered/emit_build.rs crates/nikaia-std/src/tools/lowered.rs crates/nikaia/src/emit/mod.rs crates/nikaia/src/emit/host.rs crates/nikaia/src/emit/rust_targets.rs crates/nikaia/src/project.rs docs/selfhosting-plan.md scripts/self_hosting.py assets/badges/self-hosted.svg Commit: emit: the build switches and the Rust target list into Nikaia (E12-4a) Body: Both steps of E12-4a in one commit (one build cycle). New tools/emit_build.nika holds UserParallelism and ReentrancyCheck (parse, is_concurrent, is_on; parallelism takes has_threads, the Rust caller passes target.has_threads()) and the 322 triples of rustc --print target-list as emit_build_rust_targets() -> Vec[ref String], which lowers to Vec<&’static str>, so Target::Rust keeps its &’static str with no index function. A refusal throws ledger’s Refused with the text byte for byte; emit’s switch maps it back to refused!. emit re-exports both enums; Build gets a hand impl Default (Rust until 4b), project.rs names ReentrancyCheck::Yes, emit/rust_targets.rs is deleted. lower-std changed only the new file and lowered.rs’s export lines. Part: #125 Pushed: ae043795389b93a3749ad1270ef77746e0c229fc Tests: it – parallelism reentrancy target refusal_lines:: manifest:: 52 passed (messages unchanged, no test edited); –lib emit:: 1 passed; nikaia test –both-settings –project tests/compiler 184 passed; guard set green; clippy clean; lowered/emit_build.rs 11379 bytes, one line for the list; lower-std wrote 1 new file (emit_build.rs) plus the lowered.rs index, second run at the fixpoint; self-hosting 79.5 % Gate: green Deviation: none Found: rs2nika –file drops a pub(crate) const X: &[&str] = &[..] silently (no output, no TODO, no stderr note); the list was converted by hand. Also a290ec6 (another agent) committed my staged deletion of emit/rust_targets.rs; 903c771 restored it, nothing left to fix. Needs: none Changelog: none Owner: none Disk freed: 0 (cache 2.5G, 19G free on /; new entry over 100 MB: run-bundle/65d964130cc06fb2 293 MB) Rs2nika: kept 22 of 30 lines (the switches; the 322-line list had no draft); costliest edits: refused!(..) -> throw Refused::Because(f”..”), the guard text::parse_i64(other) != null -> parse_u64 <= u32::MAX (Rust’s u32 parse), the stray world: ref EmitWorld parameters and parallelism’s Target -> has_threads

This site is open source. Improve this page.