Skip to content

Conversation

MichaReiser
Copy link
Contributor

The title is a bit misleading but it's my intention to have a fix. For now, this only adds a regression test.

The problematic scenario is a query participating in a cycle (not the cycle head)
that creates some tracked structs only in later iterations. The issue here is that
we run diff_outputs after each iteration, which will delete any tracked struct
that hasn't been created in the first iteration... However, other queries might depend
on those tracked structs already because salsa called maybe_changed_after on them.

The fix is that we only call diff_outputs once the value is finalized, the same as for cycle heads.
What makes this difficult is that finalization happens lazily.

Copy link

netlify bot commented Aug 18, 2025

Deploy Preview for salsa-rs canceled.

Name Link
🔨 Latest commit 1290c58
🔍 Latest deploy log https://app.netlify.com/projects/salsa-rs/deploys/68a338076ff1ae0007d399b8

Copy link

codspeed-hq bot commented Aug 18, 2025

CodSpeed Performance Report

Merging #980 will not alter performance

Comparing MichaReiser:tracked-deleted (1290c58) with master (52a4057)

Summary

✅ 12 untouched benchmarks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant