Closed joonazan closed 5 years ago
Thanks for reporting!
Took me a while to think of what was going wrong - I substitute the projection for the updater in etaX but never check that the projection actually appears in etaX. If it didn't appear then you would get the behavior above where nothing happens. There's now an explicit check.
This shouldn't have happened with set_wf, which builds a correctness proof that wouldn't have succeeded, but it's still a bug.
If I leave out
{_ : Setter r}
in the above code, it compiles but the function doesn't change the record.This is what I did before finding this library: