diff options
Diffstat (limited to 'docs/dev')
-rw-r--r-- | docs/dev/architecture.md | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md index 2624069a5..3de1b99a5 100644 --- a/docs/dev/architecture.md +++ b/docs/dev/architecture.md | |||
@@ -146,6 +146,8 @@ Reading the docs of the `base_db::input` module should be useful: everything els | |||
146 | 146 | ||
147 | **Architecture Invariant:** particularities of the build system are *not* the part of the ground state. | 147 | **Architecture Invariant:** particularities of the build system are *not* the part of the ground state. |
148 | In particular, `base_db` knows nothing about cargo. | 148 | In particular, `base_db` knows nothing about cargo. |
149 | For example, `cfg` flags are a part of `base_db`, but `feature`s are not. | ||
150 | A `foo` feature is a Cargo-level concept, which is lowered by Cargo to `--cfg feature=foo` argument on the command line. | ||
149 | The `CrateGraph` structure is used to represent the dependencies between the crates abstractly. | 151 | The `CrateGraph` structure is used to represent the dependencies between the crates abstractly. |
150 | 152 | ||
151 | **Architecture Invariant:** `base_db` doesn't know about file system and file paths. | 153 | **Architecture Invariant:** `base_db` doesn't know about file system and file paths. |
@@ -452,3 +454,4 @@ It is not cheap enough to enable in prod, and this is a bug which should be fixe | |||
452 | 454 | ||
453 | rust-analyzer strives to be as configurable as possible while offering reasonable defaults where no configuration exists yet. | 455 | rust-analyzer strives to be as configurable as possible while offering reasonable defaults where no configuration exists yet. |
454 | 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. | 456 | 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. |
457 | Mind the code--architecture gap: at the moment, we are using fewer feature flags than we really should. | ||