Measure Wado's performance or the size of the Wasm it generates, and refresh the benchmark/ and wasm-size/ README files. Use for any benchmarking or size-measurement request, whichever benchmark it names.
中文简介正在准备中。当前显示原文说明。
Investigate and improve code coverage for the wado-compiler crate. Use for any question about what the tests do and do not reach, dead code included.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Use cargo-llvm-cov to generate line-level coverage. The tool must be installed via cargo install cargo-llvm-cov.
Each cargo llvm-cov that is not report runs the whole test suite again, so
run the tests once and read every report from that run:
cargo llvm-cov clean --workspace # a stale profile would merge into this run
cargo llvm-cov --no-report -p wado-compiler -p wado-compiler-tests
cargo llvm-cov report --html # target/llvm-cov/html/
cargo llvm-cov report --json --output-path scratchpad/cov.json
jq '.data[0].totals.lines' scratchpad/cov.json # overall
Sort files by uncovered line count to find the biggest improvement opportunities:
jq -r '.data[0].files[] | "\(.summary.lines.count - .summary.lines.covered)\t\(.summary.lines.percent | round)%\t\(.filename)"' \
scratchpad/cov.json | sort -rn | head -30
Focus on files with:
For each low-coverage file, classify gaps into categories:
| Category | Action | Coverage Impact |
|---|---|---|
| Dead code | Delete it | Immediate improvement, no test needed |
| Untested language features | Add e2e test fixtures | Medium effort, high impact |
| Error handling paths | Add compile_error test fixtures | Low effort |
| Optimizer-specific paths | Add wir_expect/wir_not_expect tests | Medium effort |
| Edge cases in codegen | Add targeted e2e tests | Varies |
To see exactly which lines are uncovered in a file:
# lcov from the same run
cargo llvm-cov report --lcov --output-path scratchpad/lcov.info
# Or read the HTML report from Step 1:
# target/llvm-cov/html/src/synthesis/inspect.rs.html etc.
To find dead code (functions never called):
# Check if a function has any callers
rg 'function_name' wado-compiler/src/ --type rust
E2E tests are .wado files in wado-compiler/tests/fixtures/. Each file has a __DATA__ section with JSON expectations.
Guidelines for test files:
closure_nested.wado not codegen_closure.wado)closure_*, global_*, match_*)touch wado-compiler/tests/e2e.rs to trigger rediscoveryTest patterns that maximize coverage:
test "..." { ... } with {"test": {}} — exercises codegen without needing stdoutcompile_error tests — exercise error reporting pathswir_expect:O2 / wir_not_expect:O2 — exercise optimizer paths{expr:?} — exercise inspect/display synthesisAfter changes, run Step 1 again and compare
jq '.data[0].totals.lines.percent' scratchpad/cov.json with the earlier total.
synthesis/inspect.rs (~1400 lines) has dead code for type variants that never appear in practice (e.g., Never type inspect). Deleting dead code directly improves coverage.codegen.rs and emit.rs are the largest files but have relatively high coverage. Incremental improvements here require many targeted tests.datatest_mini which discovers .wado fixtures at compile time — new files need touch wado-compiler/tests/e2e.rs.wado test runs test-world fixtures; wado run runs CLI-world fixtures. Choose the right world for your test.WADO_FULL_TEST=1.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Measure Wado's performance or the size of the Wasm it generates, and refresh the benchmark/ and wasm-size/ README files. Use for any benchmarking or size-measurement request, whichever benchmark it names.
中文简介正在准备中。当前显示原文说明。
Measure how long GitHub Actions jobs and steps took across past runs, and find the pull request that made CI slower. Use for any question about CI duration, a slow job, or when CI got slow.
中文简介正在准备中。当前显示原文说明。
How to answer code review feedback — a human reviewer, CodeRabbit, or any review bot. Verify the findings, report the classes they are instances of to the user before fixing, then fix the class rather than the sites named. Put design decisions to the user, then run /distill. Invoke when responding to review comments on a pull request, or to the findings of a /code-review run.
中文简介正在准备中。当前显示原文说明。
Review the branch with /code-review at high, then answer the findings with /code-review-response.
中文简介正在准备中。当前显示原文说明。
Use rust-gdb to inspect variables and step through code without modifying it. Prefer it over print debugging for any investigation into what the compiler is actually doing (lldb is unavailable on Claude Code Web).
中文简介正在准备中。当前显示原文说明。
Cut the branch down to what the code cannot say: reuse what exists, remove duplication, dead code, and wasted work, turn invariants into asserts, and delete the comments the code already speaks. Run it after answering review feedback too — a fix written to satisfy a reviewer is the least distilled code on the branch.
中文简介正在准备中。当前显示原文说明。