Skip to content

chore: declare and verify Rust MSRV - #52

Merged
tiye merged 1 commit into
feat/program-fingerprintfrom
chore/msrv-contract
Aug 23, 2026
Merged

chore: declare and verify Rust MSRV#52
tiye merged 1 commit into
feat/program-fingerprintfrom
chore/msrv-contract

Conversation

@tiye

@tiye tiye commented Aug 22, 2026

Copy link
Copy Markdown
Member

Summary

  • add RFC 0110 declaring Rust 1.85.0 as the crate MSRV
  • run CI against Rust 1.85.0 and stable
  • expose rust-version in package metadata and keep the lexer free of newer APIs

Validation

  • make check on stable
  • cargo metadata --locked --no-deps --format-version 1 reports rust_version: 1.85
  • git diff --check

The stable Clippy run caught and fixed an API introduced after the declared MSRV. This PR is stacked on PR #51 and should remain unmerged with the existing chain.

Copilot AI lite review requested due to automatic review settings August 22, 2026 16:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR formalizes and enforces a Rust MSRV contract for the crate by documenting Rust 1.85.0 as the MSRV, declaring it in package metadata, and updating CI and tests to verify the contract remains upheld.

Changes:

  • Add RFC 0110 documenting Rust 1.85.0 as the project’s MSRV and update scope/README references accordingly.
  • Declare rust-version = "1.85" in Cargo.toml and add a test that verifies the manifest exposes it.
  • Run CI on both Rust 1.85.0 and stable; adjust lexer code to avoid newer APIs.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/rfc_index.rs Adds a test to verify Cargo.toml declares the documented MSRV.
src/lexer.rs Replaces a newer integer API with an MSRV-safe equivalent.
RFCs/0110-rust-msrv-contract.md Introduces the MSRV contract and CI/test acceptance criteria.
RFCs/0000-project-scope.md Updates scope RFC to include RFC 0110 in the implemented RFC range.
README.md Updates RFC range reference and documents the Rust 1.85+ build requirement.
Cargo.toml Declares rust-version = "1.85" in crate metadata.
.github/workflows/ci.yml Runs CI checks against both MSRV (1.85.0) and stable.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/ci.yml Outdated
Comment thread tests/rfc_index.rs
Base automatically changed from perf/qbench-core-suite to test/qtest-showcase-corpus August 22, 2026 17:51
@tiye
tiye force-pushed the chore/msrv-contract branch from a18671b to 73b0533 Compare August 22, 2026 18:08
@tiye
tiye force-pushed the test/qtest-showcase-corpus branch from 802278c to 2f0e417 Compare August 22, 2026 18:08
@tiye
tiye force-pushed the chore/msrv-contract branch from 73b0533 to ba62c10 Compare August 22, 2026 18:32
@tiye
tiye force-pushed the test/qtest-showcase-corpus branch 2 times, most recently from ee00101 to 5a30282 Compare August 22, 2026 18:34
@tiye
tiye force-pushed the chore/msrv-contract branch from ba62c10 to 6528d38 Compare August 22, 2026 18:34
@tiye
tiye force-pushed the test/qtest-showcase-corpus branch from 5a30282 to c083d85 Compare August 22, 2026 18:47
@tiye
tiye force-pushed the chore/msrv-contract branch from 6528d38 to 271321b Compare August 22, 2026 18:52
@tiye
tiye force-pushed the test/qtest-showcase-corpus branch from c083d85 to bc590b7 Compare August 23, 2026 06:22
@tiye
tiye force-pushed the chore/msrv-contract branch from d0dbfa7 to 000adad Compare August 23, 2026 06:23
@tiye
tiye force-pushed the test/qtest-showcase-corpus branch 2 times, most recently from 987a9e7 to f71eecc Compare August 23, 2026 06:27
Base automatically changed from test/qtest-showcase-corpus to feat/program-fingerprint August 23, 2026 06:28
@tiye
tiye force-pushed the chore/msrv-contract branch 2 times, most recently from 29c04e0 to dcbb35c Compare August 23, 2026 06:29
@tiye
tiye force-pushed the chore/msrv-contract branch from dcbb35c to 0873beb Compare August 23, 2026 06:32
@tiye
tiye merged commit 1b3067f into feat/program-fingerprint Aug 23, 2026
4 checks passed
@tiye
tiye deleted the chore/msrv-contract branch August 23, 2026 07:00
tiye added a commit that referenced this pull request Aug 23, 2026
* feat: add strict string escapes

* feat: add interactive qcoffee session

* feat: support comma-free multiline collections

* feat: support indented map literals

* feat: support constrained implicit calls

* feat: expose embedding execution stats

* feat: add CLI execution statistics

* feat: add qtest execution statistics

* perf: cache shared program verification

* merge: retain string escape coverage on integration line

* merge: integrate string escapes and interactive CLI

* fix: avoid stale REPL execution stats

* feat: iterate over Unicode strings

* feat: support array pattern rest bindings

* feat: support Unicode string indexing

* fix: optimize Unicode slicing and docs

* fix: bound untrusted destructuring patterns

* chore: regenerate generated manual output

* feat: add dynamic destructuring pattern defaults

* feat: support map literal spread

* feat: add map destructuring rest patterns

* fix: address review comments

* fix: address review comments

* RFC 0076: negative array and string indexing (#7)

* feat: support negative sequence indexing

* docs: record negative indexing benchmark

* docs: document map rest and negative indexing in Chinese syntax

* fix: regenerate map spread manual

* chore: regenerate classical Chinese manual

* feat: add machine-readable qtest JSON output

* docs: add qtest JSON examples to all manuals

* test: assert qtest JSON line structure

* docs: align core RFC index with implemented extensions

* feat: expose deterministic bytecode fingerprints

* docs: document program fingerprints in all manuals

* test: add qtest TAP output

Resolves the reviewed TAP output feature after portable path coverage and passing Actions.

* feat: expose bytecode fingerprints in qcoffee

Resolves all review feedback; CLI tests and Actions pass.

* feat: add machine-readable qbench runner

All review feedback is resolved; CLI tests, clippy, and GitHub Actions pass.

* feat: canonicalize bytecode fingerprints

Fixed fixed-width i32 encoding review feedback; regression tests and Actions pass.

* feat: add qdocco Markdown output

All review feedback was resolved; qdocco tests, clippy, and Actions pass.

* feat: add mutable Context fuel control

Resolved review coverage for retained native callbacks; tests, clippy, and Actions pass.

* feat: add executable Rust embedding example

Review feedback is resolved; example, tests, clippy, and Actions pass.

* chore: add crate publishing metadata

Resolved publication metadata validation feedback; checks and Actions pass.

* feat: add consistent CLI version reporting

No outstanding review comments; CLI version test, clippy, and Actions pass.

* test: verify public embedding API externally

Resolved review feedback; embedding API tests, clippy, and Actions pass.

* docs: enforce complete public API documentation

No outstanding review comments; public docs, embedding API tests, clippy, and Actions pass.

* feat: forward named arguments in do iifes

Resolved allocation and coverage feedback; RFC tests, clippy, and Actions pass.

* test: enforce RFC index consistency

Resolved path anchoring and RFC wording feedback; tests, clippy, and Actions pass.

* feat: support bang as not alias

Resolved runtime, lexer, and membership-alias feedback; tests, clippy, and Actions pass.

* feat: support signed by iteration steps

Resolved string iteration traversal feedback; RFC tests, clippy, and Actions pass.

* fix: make qtest multi-input order deterministic

Resolved JSON sorting/dedup coverage feedback; CLI tests, clippy, and Actions pass.

* fix: reject conflicting qcoffee source modes

Resolved diagnostic completeness feedback; CLI tests, clippy, and Actions pass.

* perf: record RFC 0100 benchmark sample

Resolved reproducibility metadata feedback; qbench validation and Actions pass.

* perf: cover signed by in core benchmark

Resolved benchmark iteration consistency feedback; core benchmark check, qbench, and Actions pass.

* fix: protect qdocco source files

Resolved symlink overwrite coverage feedback; CLI tests, clippy, and Actions pass.

* fix: ignore heredoc markers in comments

Resolved closing-line heredoc boundary feedback; lexer tests, clippy, and Actions pass.

* fix: write qdocco outputs atomically

Resolved cross-platform replacement, directory durability, and non-UTF-8 path feedback; tests, clippy, and Actions pass.

* fix: deduplicate qtest files by canonical path

Resolved collection path diagnostics feedback; CLI tests, clippy, and Actions pass.

* feat: version qbench machine output

Resolves the per-record text-output contract review and refreshes the branch on the current baseline.

* chore: gate checks on cargo package

Uses cargo publish --dry-run to validate and build the isolated release package without uploading.

* test: add executable qtest showcase corpus

Keeps the showcase corpus portable and preserves the latest package and qdocco safeguards.

* chore: declare and verify Rust MSRV (#52)

* feat: add chainable embedding context setup (#57)

* feat: add chainable embedding context setup

* fix: permit generated docs during package verification

* docs: regenerate literate manual markdown
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.

2 participants