Closed
Description
Describe the bug
I'm getting either an ownership_invalid_mutation or ownership_invalid_binding warning from the compiler when I try to modify array elements of shared state passed through a context.
The warnings aren't given when modifying base properties of the context, only for elements of arrays.
The first happens if I try to do something like the following and bind to the element directly
{#each array as elem}
<Child bind:elem />
{/each}
And the second if I try to pass the index and modify the element
{#each array as _elem, idx}
<Child {idx} />
{/each}
What would be the correct way to modify elements of an array using shared state?
Reproduction
https://stackblitz.com/edit/stackblitz-starters-kks8ef?file=src%2Froutes%2F%2Bpage.svelte
This is a minimal reproduction of both techniques using [email protected]
Logs
No response
System Info
System:
OS: Linux 5.0 undefined
CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 0 Bytes / 0 Bytes
Shell: 1.0 - /bin/jsh
Binaries:
Node: 18.20.3 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.2.3 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
svelte: ^5.0.0-next.1 => 5.0.0-next.148
Severity
annoyance
Metadata
Metadata
Assignees
Labels
No labels