diff options
Diffstat (limited to 'docs/dev')
-rw-r--r-- | docs/dev/lsp-extensions.md | 9 | ||||
-rw-r--r-- | docs/dev/style.md | 19 |
2 files changed, 22 insertions, 6 deletions
diff --git a/docs/dev/lsp-extensions.md b/docs/dev/lsp-extensions.md index 2e3133449..f1160bb1c 100644 --- a/docs/dev/lsp-extensions.md +++ b/docs/dev/lsp-extensions.md | |||
@@ -390,7 +390,14 @@ rust-analyzer supports only one `kind`, `"cargo"`. The `args` for `"cargo"` look | |||
390 | 390 | ||
391 | **Method:** `rust-analyzer/analyzerStatus` | 391 | **Method:** `rust-analyzer/analyzerStatus` |
392 | 392 | ||
393 | **Request:** `null` | 393 | **Request:** |
394 | |||
395 | ```typescript | ||
396 | interface AnalyzerStatusParams { | ||
397 | /// If specified, show dependencies of the current file. | ||
398 | textDocument?: TextDocumentIdentifier; | ||
399 | } | ||
400 | ``` | ||
394 | 401 | ||
395 | **Response:** `string` | 402 | **Response:** `string` |
396 | 403 | ||
diff --git a/docs/dev/style.md b/docs/dev/style.md index bcd86fd3f..fb407afcd 100644 --- a/docs/dev/style.md +++ b/docs/dev/style.md | |||
@@ -197,7 +197,7 @@ fn frobnicate(walrus: Option<Walrus>) { | |||
197 | } | 197 | } |
198 | ``` | 198 | ``` |
199 | 199 | ||
200 | Avoid preconditions that spawn function boundaries: | 200 | Avoid preconditions that span across function boundaries: |
201 | 201 | ||
202 | 202 | ||
203 | ```rust | 203 | ```rust |
@@ -218,9 +218,8 @@ fn foo() { | |||
218 | } | 218 | } |
219 | 219 | ||
220 | // Not as good | 220 | // Not as good |
221 | fn is_string_literal(s: &str) -> Option<&str> { | 221 | fn is_string_literal(s: &str) -> bool { |
222 | s.starts_with('"') && s.ends_with('"') | 222 | s.starts_with('"') && s.ends_with('"') |
223 | Some() | ||
224 | } | 223 | } |
225 | 224 | ||
226 | fn foo() { | 225 | fn foo() { |
@@ -231,8 +230,8 @@ fn foo() { | |||
231 | } | 230 | } |
232 | ``` | 231 | ``` |
233 | 232 | ||
234 | In the "Not as good" version, the precondition that `1` is a valid char boundary is checked in `is_string_literal` and utilized in `foo`. | 233 | In the "Not as good" version, the precondition that `1` is a valid char boundary is checked in `is_string_literal` and used in `foo`. |
235 | In the "Good" version, precondition check and usage are checked in the same block, and then encoded in the types. | 234 | In the "Good" version, the precondition check and usage are checked in the same block, and then encoded in the types. |
236 | 235 | ||
237 | # Early Returns | 236 | # Early Returns |
238 | 237 | ||
@@ -372,3 +371,13 @@ After you are happy with the state of the code, please use [interactive rebase]( | |||
372 | 371 | ||
373 | Avoid @mentioning people in commit messages and pull request descriptions(they are added to commit message by bors). | 372 | Avoid @mentioning people in commit messages and pull request descriptions(they are added to commit message by bors). |
374 | Such messages create a lot of duplicate notification traffic during rebases. | 373 | Such messages create a lot of duplicate notification traffic during rebases. |
374 | |||
375 | # Clippy | ||
376 | |||
377 | We don't enforce Clippy. | ||
378 | A number of default lints have high false positive rate. | ||
379 | Selectively patching false-positives with `allow(clippy)` is considered worse than not using Clippy at all. | ||
380 | There's `cargo xtask lint` command which runs a subset of low-FPR lints. | ||
381 | Careful tweaking of `xtask lint` is welcome. | ||
382 | See also [rust-lang/clippy#5537](https://github.com/rust-lang/rust-clippy/issues/5537). | ||
383 | Of course, applying Clippy suggestions is welcome as long as they indeed improve the code. | ||