Summary
comptime is not modeled. The CFG lowering explicitly excludes it, and there are no rules targeting comptime-specific bug classes. Code paths gated on or executed at comptime are collapsed to .plain / lowering_gap, so anything happening inside them is invisible.
Evidence
src/flow/cfg.zig:18-22, under "What we DON'T model (yet)": lists "generics / comptime".
No rule in src/rule_catalog.zig targets comptime evaluation, comptime-bounds, or comptime control flow.
Impact
- Comptime-evaluated logic (type construction, comptime loops/branches, comptime-known values that bound runtime behavior) is opaque.
- Comptime-known facts that would refine runtime analysis (e.g. a comptime length that proves a slice non-empty) aren't available to the value/flow tracks.
Suggested direction
Two separable goals:
- Use comptime-known values to refine runtime reasoning (the higher-value, more tractable half — feeds the value/flow track).
- Check comptime-specific bug classes (e.g. unbounded comptime recursion) — lower priority.
Coverage roadmap item; the refinement half likely pays off sooner than dedicated comptime rules.
Summary
comptimeis not modeled. The CFG lowering explicitly excludes it, and there are no rules targeting comptime-specific bug classes. Code paths gated on or executed atcomptimeare collapsed to.plain/lowering_gap, so anything happening inside them is invisible.Evidence
src/flow/cfg.zig:18-22, under "What we DON'T model (yet)": lists "generics / comptime".No rule in
src/rule_catalog.zigtargets comptime evaluation, comptime-bounds, or comptime control flow.Impact
Suggested direction
Two separable goals:
Coverage roadmap item; the refinement half likely pays off sooner than dedicated comptime rules.