Skip to content

Test to see if function produces same accumulator values #311

Open
@nikomatsakis

Description

@nikomatsakis

When executed, a function F can produce "push" onto accumulators, as described here.

When another function G reads the accumulated values, that is considered a read of F. So when we decide if G is red in a given revision, we will look to see if F is red. To do that, we will look at F's inputs, but then we'll compare F's output -- and here, we don't take into account accumulated values! This is a problem. This could cause us to fail to re-execute G even though the errors or other values pushed by F have changed.

I'm not entirely sure the best way to fix this! We can track the places that a function pushes during its execution easily enough, but I don't want to store all the values in the Memo. This would be a lot easier to fix if we were using hashes to compare for equality instead of Eq, and that'd be nice for some other reasons too, I wonder if that's the way to go...

Metadata

Metadata

Assignees

No one assigned

    Labels

    salsa-2022Tracking issue for new salsa

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions