aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/dev/debugging.md2
-rw-r--r--docs/user/generated_diagnostic.adoc105
-rw-r--r--docs/user/manual.adoc7
3 files changed, 113 insertions, 1 deletions
diff --git a/docs/dev/debugging.md b/docs/dev/debugging.md
index 59a83f7d7..8c48fd5a1 100644
--- a/docs/dev/debugging.md
+++ b/docs/dev/debugging.md
@@ -53,7 +53,7 @@ To apply changes to an already running debug process, press <kbd>Ctrl+Shift+P</k
53 53
54- A list of running processes should appear. Select the `rust-analyzer` from this repo. 54- A list of running processes should appear. Select the `rust-analyzer` from this repo.
55 55
56- Navigate to `crates/rust-analyzer/src/main_loop.rs` and add a breakpoint to the `on_task` function. 56- Navigate to `crates/rust-analyzer/src/main_loop.rs` and add a breakpoint to the `on_request` function.
57 57
58- Go back to the `[Extension Development Host]` instance and hover over a Rust variable and your breakpoint should hit. 58- Go back to the `[Extension Development Host]` instance and hover over a Rust variable and your breakpoint should hit.
59 59
diff --git a/docs/user/generated_diagnostic.adoc b/docs/user/generated_diagnostic.adoc
new file mode 100644
index 000000000..ec45d0c2b
--- /dev/null
+++ b/docs/user/generated_diagnostic.adoc
@@ -0,0 +1,105 @@
1//Generated file, do not edit by hand, see `xtask/src/codegen`
2=== break-outside-of-loop
3**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L219[diagnostics.rs]
4
5This diagnostic is triggered if `break` keyword is used outside of a loop.
6
7
8=== incorrect-ident-case
9**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L319[diagnostics.rs]
10
11This diagnostic is triggered if item name doesn't follow https://doc.rust-lang.org/1.0.0/style/style/naming/README.html[Rust naming convention].
12
13
14=== mismatched-arg-count
15**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L267[diagnostics.rs]
16
17This diagnostic is triggered if function is invoked with an incorrect amount of arguments.
18
19
20=== missing-match-arm
21**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L162[diagnostics.rs]
22
23This diagnostic is triggered if `match` block is missing one or more match arms.
24
25
26=== missing-ok-in-tail-expr
27**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L187[diagnostics.rs]
28
29This diagnostic is triggered if block that should return `Result` returns a value not wrapped in `Ok`.
30
31Example:
32
33```rust
34fn foo() -> Result<u8, ()> {
35 10
36}
37```
38
39
40=== missing-pat-fields
41**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L113[diagnostics.rs]
42
43This diagnostic is triggered if pattern lacks some fields that exist in the corresponding structure.
44
45Example:
46
47```rust
48struct A { a: u8, b: u8 }
49
50let a = A { a: 10, b: 20 };
51
52if let A { a } = a {
53 // ...
54}
55```
56
57
58=== missing-structure-fields
59**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L66[diagnostics.rs]
60
61This diagnostic is triggered if record lacks some fields that exist in the corresponding structure.
62
63Example:
64
65```rust
66struct A { a: u8, b: u8 }
67
68let a = A { a: 10 };
69```
70
71
72=== missing-unsafe
73**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L243[diagnostics.rs]
74
75This diagnostic is triggered if operation marked as `unsafe` is used outside of `unsafe` function or block.
76
77
78=== no-such-field
79**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_ty/src/diagnostics.rs#L39[diagnostics.rs]
80
81This diagnostic is triggered if created structure does not have field provided in record.
82
83
84=== unconfigured-code
85**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_def/src/diagnostics.rs#L90[diagnostics.rs]
86
87This diagnostic is shown for code with inactive `#[cfg]` attributes.
88
89
90=== unresolved-extern-crate
91**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_def/src/diagnostics.rs#L35[diagnostics.rs]
92
93This diagnostic is triggered if rust-analyzer is unable to discover referred extern crate.
94
95
96=== unresolved-import
97**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_def/src/diagnostics.rs#L59[diagnostics.rs]
98
99This diagnostic is triggered if rust-analyzer is unable to discover imported module.
100
101
102=== unresolved-module
103**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/hir_def/src/diagnostics.rs#L10[diagnostics.rs]
104
105This diagnostic is triggered if rust-analyzer is unable to discover referred module.
diff --git a/docs/user/manual.adoc b/docs/user/manual.adoc
index 7e8adcdb7..b9d907a4a 100644
--- a/docs/user/manual.adoc
+++ b/docs/user/manual.adoc
@@ -366,6 +366,13 @@ Cursor position or selection is signified by `┃` character.
366 366
367include::./generated_assists.adoc[] 367include::./generated_assists.adoc[]
368 368
369== Diagnostics
370
371While most errors and warnings provided by rust-analyzer come from the `cargo check` integration, there's a growing number of diagnostics implemented using rust-analyzer's own analysis.
372These diagnostics don't respect `#[allow]` or `#[deny]` attributes yet, but can be turned off using the `rust-analyzer.diagnostics.enable`, `rust-analyzer.diagnostics.enableExperimental` or `rust-analyzer.diagnostics.disabled` settings.
373
374include::./generated_diagnostic.adoc[]
375
369== Editor Features 376== Editor Features
370=== VS Code 377=== VS Code
371 378