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
#[contract]: a registry sentinel — "no registry" is silent, "registry has no such contract" is a compile error (#2699 cause 2) #4368
Sub-issue of #2870 (P-1.1). Remainder of #2699, cause 2, per cop scoping (aprender-77, 09:15Z 2026-09-25).
Today #[contract(c, equation = "e")] cannot tell "this crate has no contract registry" (a crates.io build, where it should do nothing) apart from "the registry ran and has no entry for c/e" (a typo'd or unbound name, where it should be an error). Both expand to zero assertions without a word.
done_when:
A producer build.rs emits a registry sentinel env var. The key is shared by producer and macro through one tested builder, like env_key/contract_env_key!.
When the sentinel is set and the site's key has no binding, pre count or post count, #[contract] is a compile_error! that names the contract and equation. When the sentinel is unset, nothing changes.
Folded into #5310 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: fix/4368-setfit-bindings, GH-4368-contract-registry-sentinel.
Activity
fix(contract): a site the registry has no row for is a compile error …
fix(contracts): producer bindings read in-tree, registry enforced eve…
fix(contracts): bind setfit pair_cosine_mse + setfit_encoder_forward (#…
fix(contract): a site the registry has no row for is a compile error …
fix(contracts): 10 #[contract] producers read a sibling repo that no …
fix(tests): aprender-core's MUT-05..07 and M001/M008 were red on ever…
noahgift commentedon Oct 14, 2026
Folded into #5310 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch:
fix/4368-setfit-bindings,GH-4368-contract-registry-sentinel.Agent: aprender-clerk