You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/dev/architecture.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -481,7 +481,7 @@ It is not cheap enough to enable in prod, and this is a bug which should be fixe
481
481
rust-analyzer strives to be as configurable as possible while offering reasonable defaults where no configuration exists yet.
482
482
The rule of thumb is to enable most features by default unless they are buggy or degrade performance too much.
483
483
There will always be features that some people find more annoying than helpful, so giving the users the ability to tweak or disable these is a big part of offering a good user experience.
484
-
Enabling them by default is a matter of discoverability, as many users end up don't know about some features even though they are presented in the manual.
484
+
Enabling them by default is a matter of discoverability, as many users don't know about some features even though they are presented in the manual.
485
485
Mind the code--architecture gap: at the moment, we are using fewer feature flags than we really should.
486
486
487
487
### Serialization
@@ -492,8 +492,8 @@ If a type is serializable, then it is a part of some IPC boundary.
492
492
You often don't control the other side of this boundary, so changing serializable types is hard.
493
493
494
494
For this reason, the types in `ide`, `base_db` and below are not serializable by design.
495
-
If such types need to cross an IPC boundary, then the client of rust-analyzer needs to provide custom, client-specific serialization format.
495
+
If such types need to cross an IPC boundary, then the client of rust-analyzer needs to provide a custom, client-specific serialization format.
496
496
This isolates backwards compatibility and migration concerns to a specific client.
497
497
498
-
For example, `rust-project.json` is it's own format -- it doesn't include `CrateGraph` as is.
498
+
For example, `rust-project.json` is its own format -- it doesn't include `CrateGraph` as is.
499
499
Instead, it creates a `CrateGraph` by calling appropriate constructing functions.
0 commit comments