| name | rocq-build-troubleshoot |
| description | Fast workflow to diagnose and fix Rocq/Coq compile errors in this repository, especially missing imports after links/simulate splits and per-file compile checks. |
Rocq Build Troubleshoot
Use this skill when a .v file fails to compile and the goal is a minimal targeted fix.
Scope
- Repository:
RocqOfRust
- Commands use project flags:
-R . RocqOfRust -impredicative-set
- Prefer single-file checks first, then dependency checks.
Workflow
- Reproduce exactly:
coqc -R . RocqOfRust -impredicative-set path/to/file.v
- If error references missing module/loadpath:
- Add explicit
Require Import ... in the failing file.
- Do not rely on removed aggregator modules.
- Prefer per-function imports in
revm/revm_interpreter/instructions/{links,simulate}/....
- If error is argument-order/type mismatch in
run_* call:
- Compare the local
run_* instance signature in .../links/....
- Align call order exactly; remove placeholder
_ arguments unless required by implicit params.
- If
Range literals fail type inference:
- Use record notation with typed zeros:
{|
Range.start := (0 : usize);
Range.end_ := (0 : usize)
|}
- Recompile touched file(s):
coqc -R . RocqOfRust -impredicative-set path/to/file.v
- Optional dependency sanity check:
make path/to/file.vo
Guardrails
- Keep fixes minimal and local.
- Do not reintroduce removed aggregators.
- Preserve
Admitted where the project intentionally keeps placeholders.
- If proving
_eq fails, check semantic alignment before attempting Qed.