Track changes made through methods in the design of reactivity
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 88/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- rust
- Domain
- documentation
Research direction
The requested change is in site/docs/internals/reactive.mdx. Read its current explanation of how reactive variables are inferred, then add a section describing the method-mutation problem and the two options listed in the issue. Done means the documentation explains the design question around mutations such as items.push("milk").
Written by the indexing model from the issue text.
Description
site/docs/internals/reactive.mdx infers which variables are reactive from let mut and assignments. But arrays are shared now (#195), so state can change without an assignment:
let mut items = [];
items.push("milk"); // no assignment, but the list changed
That's the bug Svelte 3 and 4 had (items = items after a push), which Svelte 5 fixed with proxies. Options:
- treat calling something that changes its argument, like
pushorxs[i] = …, as an assignment; with the mutability in types, that's amutparameter; - track reads and writes at run time, like Svelte 5, at a cost for every access.
Add a section about it to reactive.mdx.
- Dominant language
- Rust
- Stars
- 54
- Forks
- 3
- Avg merge
- 7m
- Merged PRs (30d)
- 29
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boltlang/Bolt
-
bug priority:low rust
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug scope:types
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug scope:types
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
enhancement scope:diagnostics scope:syntax
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
enhancement scope:syntax
Difficulty 4/5 3-5 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
dekobon/big-code-analysis#1729 ·
Maintainers usually reply within 1 day
-
bug help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
akitaonrails/ai-memory#1888 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
peteonrails/voxtype#941 ·
Maintainers usually reply within 4 days
-
bug priority:medium triage:maintainable
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
ccusage/ccusage#2000 · 3 comments ·
Maintainers usually reply within 1 day