Issue #1014: Lowering cache: the interface key leaves out an inferred sync, so dependants stay stale

Open and answer this issue on GitHub.

ready · opened 2026-10-30 · updated 2026-10-30 · 0 comments

Found by the yaml lane (y5, #928). A body change that made prover_bodies async (its inferred sync was lost) left prover_passes.rs stale in lower-std: the interface key of a unit does not include the inferred sync/async-ness of its functions. The builder worked around it with explicit sync declarations.

To build

  1. Include each pub function’s inferred sync (and anything else inferred that dependants’ lowering reads) in the interface key.
  2. A test that a change of inferred sync re-lowers the dependant.

Back to Open Issues