Verifying Rust changes
Files: .rs. Derived from 28 scanned source repositories and 332 review prompts on https://awesomereviewers.com. Page: https://awesomereviewers.com/verify/rust/
How to use this: run every check under Run on every change. Then, for each section under Add when the change touches that describes your diff, run its checks too. Checks catch what a tool can find; then apply the listed review prompts for what tools miss (fetch each prompt’s raw URL).
Usage is the share of scanned repositories in this language that run the tool. A missing tool means no scanned repository runs one the scanner recognises: fall back to the prompts.
Run on every change
- Formatting:
rustfmt (96% of repos). Command seen: cargo fmt --all. Autofixes. Docs: https://github.com/rust-lang/rustfmt
- Linting:
clippy (89% of repos). Command seen: cargo clippy --workspace --all-targets -- -D warnings. Docs: https://github.com/rust-lang/rust-clippy
- Type checking:
cargo-check (43% of repos). Command seen: cargo check. Docs: https://github.com/rust-lang/cargo
- Unit and integration tests:
cargo-test (75% of repos). Command seen: cargo test --locked. Docs: https://github.com/rust-lang/cargo
Review prompts (53 in total, most discussed first):
- reduce complexity for readability — servo/servo, Code Style
- Use meaningful names — juspay/hyperswitch, Naming Conventions
- Organize code structure — juspay/hyperswitch, Code Style
- Use semantically accurate names — servo/servo, Naming Conventions
- Use descriptive contextual names — alacritty/alacritty, Naming Conventions
- Simplify complex expressions — tree-sitter/tree-sitter, Code Style
- prioritize code clarity — unionlabs/union, Code Style
- Extract duplicated code — pola-rs/polars, Code Style
- organize code structure — denoland/deno, Code Style
- eliminate redundant code — jj-vcs/jj, Code Style
- eliminate code duplication — block/goose, Code Style
- Use descriptive semantic names — unionlabs/union, Naming Conventions
Add when the change touches
- Security scanning:
codeql (4% of repos). Runs via GitHub Action github/codeql-action/analyze. Docs: https://github.com/github/codeql
- Secret scanning — no tool detected in the sample. Catches: Credentials and tokens committed to the repository.
- Dependency audit:
cargo-deny (57% of repos). Command seen: cargo deny --locked --all-features check licenses. Alternatives: cargo-audit (7%), dependency-review (4%). Docs: https://github.com/EmbarkStudios/cargo-deny
Review prompts (26 in total, most discussed first):
- Secure Input and Secret Handling — warpdotdev/warp, Security
- Protect sensitive data — juspay/hyperswitch, Security
- Redact URL credentials — astral-sh/uv, Security
- Fail Safe Input Handling — aaif-goose/goose, Security
- Validate operation permissions — denoland/deno, Security
- Secure unsafe code — tokio-rs/tokio, Security
- Handle unsafe code properly — servo/servo, Security
- default least permissive — block/goose, Security
- Prevent TOCTOU vulnerabilities — rust-lang/rust, Security
- Secure authentication handling — neondatabase/neon, Security
- Secure token lifecycle — influxdata/influxdb, Security
- Minimize unsafe code — tokio-rs/tokio, Security
Public APIs, signatures, error paths, nullability
- Type checking:
cargo-check (43% of repos). Command seen: cargo check. Docs: https://github.com/rust-lang/cargo
- Unit and integration tests:
cargo-test (75% of repos). Command seen: cargo test --locked. Docs: https://github.com/rust-lang/cargo
- Property-based tests:
proptest (36% of repos). Docs: https://github.com/proptest-rs/proptest
Review prompts (84 in total, most discussed first):
- Design interfaces, not implementations — zed-industries/zed, API
- consistent command flag design — jj-vcs/jj, API
- explicit error handling — juspay/hyperswitch, Error Handling
- Accurate Recovery Error Handling — aaif-goose/goose, Error Handling
- Explicit API Contracts — aaif-goose/goose, API
- Safe null handling — pola-rs/polars, Null Handling
- Type-safe flexible APIs — tokio-rs/axum, API
- avoid unwrap and panic — servo/servo, Error Handling
- API design patterns — servo/servo, API
- Appropriate error handling — pola-rs/polars, Error Handling
- Prefer idiomatic Option handling — zed-industries/zed, Null Handling
- Propagate errors with context — vercel/turborepo, Error Handling
Service and framework code
- Unit and integration tests:
cargo-test (75% of repos). Command seen: cargo test --locked. Docs: https://github.com/rust-lang/cargo
- Version and platform matrix:
ci-matrix (64% of repos). Command seen: desktop-updater-install (os: 2). Alternatives: cargo-hack (14%). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (1 in total, most discussed first):
- Property-based tests:
proptest (36% of repos). Docs: https://github.com/proptest-rs/proptest
- Fuzzing:
cargo-fuzz (18% of repos). Command seen: cargo fuzz build -s none. Docs: https://github.com/rust-fuzz/cargo-fuzz
- Mutation testing — no tool detected in the sample. Catches: Tests that keep passing whatever the code does.
- Proofs and specifications:
coq (4% of repos). Alternatives: tla-plus (4%). Docs: https://github.com/rocq-prover/rocq
Review prompts (25 in total, most discussed first):
- Validate boundary conditions — rust-lang/rust, Algorithms
- Evidence-Gated Heuristics — firecrawl/pdf-inspector, Algorithms
- optimize algorithmic complexity — servo/servo, Algorithms
- optimize algorithmic efficiency — alacritty/alacritty, Algorithms
- Edge-case-complete path/text algorithms — can1357/oh-my-pi, Algorithms
- Optimize algorithmic complexity — tokio-rs/tokio, Algorithms
- Choose efficient data structures — unionlabs/union, Algorithms
- Choose efficient data structures — jj-vcs/jj, Algorithms
- Algorithm and data optimization — tree-sitter/tree-sitter, Algorithms
- Consider algorithmic complexity — zed-industries/zed, Algorithms
- Choose optimal data structures — influxdata/influxdb, Algorithms
- Deterministic normalization predicates — aaif-goose/goose, Algorithms
Threads, async code, locks, shared state
- Concurrency model checking:
loom (4% of repos). Runs via loom via environment. Docs: https://github.com/tokio-rs/loom
- Undefined-behaviour detection:
miri (11% of repos). Command seen: cargo miri test --features object -p polars-core. Docs: https://github.com/rust-lang/miri
- Property-based tests:
proptest (36% of repos). Docs: https://github.com/proptest-rs/proptest
Review prompts (27 in total, most discussed first):
- Bound async waits — aaif-goose/goose, Concurrency
- Release locks before waking — tokio-rs/tokio, Concurrency
- Choose appropriate lock primitives — influxdata/influxdb, Concurrency
- Cross-process locking discipline — can1357/oh-my-pi, Concurrency
- Concurrency bookkeeping and cancel — ogulcancelik/herdr, Concurrency
- Guard against concurrent state races — cline/cline, Concurrency
- Serialize async per-key — warpdotdev/warp, Concurrency
- Document lock behavior — rust-lang/rust, Concurrency
- Use appropriate synchronization mechanisms — denoland/deno, Concurrency
- Document concurrency design decisions — neondatabase/neon, Concurrency
- avoid concurrency anti-patterns — block/goose, Concurrency
- Minimize blocking operations — openai/codex, Concurrency
Network calls, retries, timeouts, protocols
- Unit and integration tests:
cargo-test (75% of repos). Command seen: cargo test --locked. Docs: https://github.com/rust-lang/cargo
- Fuzzing:
cargo-fuzz (18% of repos). Command seen: cargo fuzz build -s none. Docs: https://github.com/rust-fuzz/cargo-fuzz
Review prompts (9 in total, most discussed first):
UI components and pages
- End-to-end browser tests — no tool detected in the sample. Catches: User flows broken across components, routing and the network.
- Linting:
clippy (89% of repos). Command seen: cargo clippy --workspace --all-targets -- -D warnings. Docs: https://github.com/rust-lang/rust-clippy
Databases, migrations, caching
- Unit and integration tests:
cargo-test (75% of repos). Command seen: cargo test --locked. Docs: https://github.com/rust-lang/cargo
- Version and platform matrix:
ci-matrix (64% of repos). Command seen: desktop-updater-install (os: 2). Alternatives: cargo-hack (14%). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (12 in total, most discussed first):
- Migration consistency rules — aaif-goose/goose, Migrations
- Manage complete cache lifecycle — influxdata/influxdb, Caching
- Stable schema identifiers — influxdata/influxdb, Database
- Cache Key Consistency — warpdotdev/warp, Caching
- Database schema consistency — juspay/hyperswitch, Database
- Optimize data transformations — pola-rs/polars, Database
- Versioned cache coherence — aaif-goose/goose, Caching
- Control cache lifecycle — denoland/deno, Caching
- Database before memory — neondatabase/neon, Database
- Configurable cache parameters — neondatabase/neon, Caching
- SQL query best practices — unionlabs/union, Database
- Version serializable structures — unionlabs/union, Migrations
- No tool-based check applies; rely on the prompts.
Review prompts (26 in total, most discussed first):
- Minimize allocations and syscalls — helix-editor/helix, Performance Optimization
- minimize memory allocations — denoland/deno, Performance Optimization
- Bound Large Work — warpdotdev/warp, Performance Optimization
- avoid unnecessary work — servo/servo, Performance Optimization
- Minimize critical path allocations — influxdata/influxdb, Performance Optimization
- Optimize frequent operations — tree-sitter/tree-sitter, Performance Optimization
- Minimize unnecessary allocations — neondatabase/neon, Performance Optimization
- Optimize memory allocation patterns — pola-rs/polars, Performance Optimization
- Optimize memory allocation — tokio-rs/tokio, Performance Optimization
- Benchmark before optimizing code — rust-lang/rust, Performance Optimization
- Profile allocations before optimization — astral-sh/ruff, Performance Optimization
- Optimize hot paths — tokio-rs/tokio, Performance Optimization
Model, prompt and LLM code
- Unit and integration tests:
cargo-test (75% of repos). Command seen: cargo test --locked. Docs: https://github.com/rust-lang/cargo
Review prompts (4 in total, most discussed first):
Logging, metrics, tracing
- No tool-based check applies; rely on the prompts.
Review prompts (8 in total, most discussed first):
CI workflows and configuration files
- CI workflow linting — no tool detected in the sample. Catches: Broken GitHub Actions syntax, script injection, over-broad token permissions.
- File hygiene:
pre-commit-hooks (4% of repos). Runs via pre-commit hook end-of-file-fixer. Autofixes. Docs: https://github.com/pre-commit/pre-commit-hooks
Review prompts (24 in total, most discussed first):
- Standardize platform-agnostic configuration — zed-industries/zed, Configurations
- Validate configurations comprehensively — vercel/turborepo, Configurations
- Config Gating And Validation — warpdotdev/warp, Configurations
- Standardize configuration value handling — rust-lang/rust, Configurations
- prefer compile-time configuration — tree-sitter/tree-sitter, Configurations
- Structure conditional compilation — tokio-rs/tokio, Configurations
- Unified configuration semantics — aaif-goose/goose, Configurations
- Avoid hardcoded configuration values — juspay/hyperswitch, Configurations
- avoid environment variable proliferation — block/goose, Configurations
- Structural configuration approaches — tokio-rs/tokio, Configurations
- Match external config semantics exactly — can1357/oh-my-pi, Configurations
- Centralize configuration management — openai/codex, Configurations
Dependencies and lockfiles
- Dependency audit:
cargo-deny (57% of repos). Command seen: cargo deny --locked --all-features check licenses. Alternatives: cargo-audit (7%), dependency-review (4%). Docs: https://github.com/EmbarkStudios/cargo-deny
- Lockfile consistency — no tool detected in the sample. Catches: A lockfile that no longer matches its manifest.
- Version and platform matrix:
ci-matrix (64% of repos). Command seen: desktop-updater-install (os: 2). Alternatives: cargo-hack (14%). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
The tests themselves
- Mutation testing — no tool detected in the sample. Catches: Tests that keep passing whatever the code does.
- Version and platform matrix:
ci-matrix (64% of repos). Command seen: desktop-updater-install (os: 2). Alternatives: cargo-hack (14%). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (17 in total, most discussed first):
- Structured, Meaningful Tests — warpdotdev/warp, Testing
- Write focused single-purpose tests — tokio-rs/tokio, Testing
- Ensure complete test coverage — rust-lang/rust, Testing
- Test through public APIs — zed-industries/zed, Testing
- Write comprehensive test assertions — openai/codex, Testing
- Fast deterministic tests — tokio-rs/tokio, Testing
- Balance test performance considerations — astral-sh/uv, Testing
- Avoid flaky test patterns — influxdata/influxdb, Testing
- Assert exercised code path — can1357/oh-my-pi, Testing
- Assert exact expectations — astral-sh/ruff, Testing
- Add comprehensive test coverage — denoland/deno, Testing
- Write explicit concrete tests — tree-sitter/tree-sitter, Testing
- Docs build — no tool detected in the sample. Catches: Broken cross-references, links and markup in documentation.
- Spelling:
codespell (7% of repos). Command seen: codespell. Docs: https://github.com/codespell-project/codespell
Review prompts (16 in total, most discussed first):
- Comprehensive documentation standards — tokio-rs/axum, Documentation
- comprehensive API documentation — servo/servo, Documentation
- Keep documentation purposefully minimal — rust-lang/rust, Documentation
- Clear precise documentation — astral-sh/uv, Documentation
- Explain code intent — alacritty/alacritty, Documentation
- prioritize documentation clarity — jj-vcs/jj, Documentation
- Purpose-Driven Documentation — warpdotdev/warp, Documentation
- Ensure documentation clarity — tree-sitter/tree-sitter, Documentation
- Document non-obvious aspects — openai/codex, Documentation
- Document component behavior comprehensively — astral-sh/ruff, Documentation
- Comprehensive code documentation — neondatabase/neon, Documentation
- Structure API doc blocks — tokio-rs/tokio, Documentation
Source repositories
rust-lang/rust, denoland/deno, unionlabs/union, zed-industries/zed, astral-sh/uv, alacritty/alacritty, warpdotdev/warp, aaif-goose/goose, astral-sh/ruff, helix-editor/helix, can1357/oh-my-pi, pola-rs/polars, juspay/hyperswitch, servo/servo, openai/codex, influxdata/influxdb, tokio-rs/tokio, vercel/turborepo, ogulcancelik/herdr, tokio-rs/axum, tree-sitter/tree-sitter, Hmbown/DeepSeek-TUI, jj-vcs/jj, block/goose, neondatabase/neon, firecrawl/pdf-inspector, huggingface/tokenizers, smallcloudai/refact