| name | rust-stable-compat |
| description | Migrate this Rust workspace from nightly-only requirements to stable-compatible development and CI. Use when removing `#![feature(...)]`, replacing unstable benchmark harness usage, validating `cargo +stable build/test`, and updating docs/CI for issue |
Rust Stable Compat
Use this skill to execute issue #90 end-to-end with low regression risk.
Workflow
- Run baseline audit.
- Remove nightly-only code paths.
- Preserve benchmark intent on stable Rust.
- Update CI and docs.
- Run stable validation commands and report gaps.
Step 1: Baseline Audit
- Run
scripts/stable_audit.sh.
- Confirm exact nightly-only usage sites.
- Record whether nightly dependency is only benchmark-related.
Step 2: Remove Nightly-Only Features
- Delete
#![feature(...)] usage.
- Replace
extern crate test + #[bench] with stable-compatible benchmarking (prefer Criterion).
- Keep benchmark cases equivalent so historical comparisons stay meaningful.
Step 3: Keep Bench UX Practical
- Ensure contributors can run benches with one command.
- Prefer
cargo bench -p llvm-bench behavior that works on stable.
- Keep benchmark file structure straightforward (
criterion_group!, criterion_main!).
Step 4: Update Integration Points
- Update crate manifests in benchmark crate.
- Update CI workflow to include stable checks.
- Update README/docs: prerequisites and benchmark commands must match the new flow.
Step 5: Validate
Run at minimum:
cargo +stable build --all-targets
cargo +stable test
cargo +stable bench -p llvm-bench --no-run
If any command cannot run in the environment, document exactly what was blocked and why.
Step 6: Review + Full Test
- Review the implementation PR for correctness regressions and missing coverage.
- Run targeted checks plus full suite (
cargo +stable test) unless blocked.
Step 7: Issue+Fix Loop (Same PR)
- If a concrete bug/regression is found, open a GitHub issue documenting it.
- Fix the finding in the same PR branch and push follow-up commits.
Step 8: Post Review Summary
- Post PR review feedback (
gh pr review --comment or gh pr comment) summarizing findings and fixes.
- Include linked issue IDs in the comment.
PR Checklist
- No
#![feature( remains in workspace.
- Stable build and tests pass.
- Bench target compiles on stable.
- CI/doc updates are included in the same PR.
Resources