You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
t27b: the greedy blockers order, its replay and FNV-1a come from specs/tri/t27b/blockers.t27 (port slice of #6198) #7673
Port slice of #6198 (t27b written in t27), under #6063 and #5980.
cli/t27b/src/blockers.rs (719 lines on master 0fbb0a0) is mostly I/O: it spawns and times out processes (run_capture, kill_group), runs the reference path and keeps its cache file (RefRunner, CacheWriter, read_cache_tests, use_closure, dir_bytes), and parses tool output into Strings. The blocker names themselves (ExprCall(@abs), type u128) are produced in lower.rs, not here.
Its pure decision logic is three functions:
greedy: the set-cover order of t27b corpus --blockers, that is, which construct to support next and how many whole files each step unlocks;
replay: the cumulative count of such an order over another list of files;
fnv64: FNV-1a 64, the hash behind every reference-cache key.
The plan:
Write the three in specs/tri/t27b/blockers.t27. The files become the rows of a 0/1 matrix over the constructs, numbered in name order. The tie-break order is unchanged: files unlocked, then the progress score (summed in file order), then the files needing the construct, then the name. FNV-1a reads a byte slice.
Generate gen/rust/tri/t27b/blockers.rs with t27c gen-rust and mount it with #[path] in blockers.rs. Delete the hand-written bodies. The public signatures stay, so main.rs, tests/blockers.rs and tests/refcache.rs do not change.
Oracle and checks
The current Rust is the oracle. The orders, counts and hashes in the spec's tests were printed by the hand-written greedy, replay and fnv64 on the t27c Railway lab.
t27c test-report with 0 vacuous passes, tri mutate spec, and a seal.
cargo test --release -p t27b.
A t27b lab corpus run of head that equals master's, file by file.
Activity
t27b: the greedy blockers order, its replay and FNV-1a come from spec…
Merge origin/master 3d71306 into t27b-arraylit-slice (Closes #7680)