Skip to content

fix(lock): pass-through #[spec_locked] at compile time - #1

Merged
secsovereign merged 3 commits into
mainfrom
fix/spec-locked-compile-passthrough
Sep 17, 2026
Merged

secsovereign merged 3 commits into
mainfrom
fix/spec-locked-compile-passthrough

Conversation

@secsovereign

Copy link
Copy Markdown
Member

Summary

  • Make #[spec_locked] a compile-time pass-through when expanding.
  • Fixes local cargo check/cargo test with sibling blvm-spec (EvalScript §5.2 was emitting broken ensures from prose).
  • cargo-spec-lock verify still reads source markers. No consensus behavior change.

Test plan

  • cargo check -p blvm-consensus with path-patched local blvm-spec-lock → OK
  • Unblocks cargo test --test engineering_suite test_csv_ (companion fixture PR)

Companion: BTCDecoded/blvm-consensus#11

With sibling blvm-spec present, synthesizing #[ensures] from EvalScript
§5.2 prose produced empty/broken attrs and spilled tokens after the
attribute ("expected item after attributes" on rustc 1.88). Keep the
attribute as a source marker for cargo-spec-lock verify; do not emit
contracts at compile time. Runtime consensus unchanged.
CI Test/Clippy use -D warnings; the pass-through path left Contract,
ContractType, SpecSection, section_id_subsumes_formula_section, and
Span unused in macro_impl.rs.
@secsovereign

Copy link
Copy Markdown
Member Author

Pushed unused-import cleanup for CI -D warnings (Contract/ContractType/SpecSection/section_id_subsumes_formula_section/Span). No publish yet — waiting on Josh for crates.io 0.1.34.

Pre-existing cargo fmt --check failures on CI (not the pass-through).
@secsovereign

Copy link
Copy Markdown
Member Author

Pushed CI cargo fmt for condition.rs / z3_translator.rs (separate style commit). Please re-run Test.

@secsovereign
secsovereign merged commit be8238c into main Sep 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant