Fix adjacent tracking across adjacent scopes - #1985 #1986
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This sets deps of a reference as mutated along with the reference so that update code is not skipped for the reference deps if they also happen to appear in an adjacent scope.
This is an area that could probably use a little bit of improvement down the road. Right now, deps on any given expression don't really indicate which parts are affected by mutation e.g. in
{#each foo[bar] as whatever}<button on:click={() => whatever.sure += 'yes'}>mutate foo, but not bar</button>{/each}
. With this PR,bar
will also be flagged as mutated, which isn't exactly ideal, as it's not in this case.