aboutsummaryrefslogtreecommitdiff
path: root/crates/ide
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ide')
-rw-r--r--crates/ide/src/diagnostics.rs23
-rw-r--r--crates/ide/src/diagnostics/unresolved_module.rs12
2 files changed, 12 insertions, 23 deletions
diff --git a/crates/ide/src/diagnostics.rs b/crates/ide/src/diagnostics.rs
index 253c360bb..815a633e5 100644
--- a/crates/ide/src/diagnostics.rs
+++ b/crates/ide/src/diagnostics.rs
@@ -51,28 +51,26 @@ impl DiagnosticCode {
51 51
52#[derive(Debug)] 52#[derive(Debug)]
53pub struct Diagnostic { 53pub struct Diagnostic {
54 // pub name: Option<String>, 54 pub code: DiagnosticCode,
55 pub message: String, 55 pub message: String,
56 pub range: TextRange, 56 pub range: TextRange,
57 pub severity: Severity, 57 pub severity: Severity,
58 pub fixes: Option<Vec<Assist>>,
59 pub unused: bool, 58 pub unused: bool,
60 pub code: Option<DiagnosticCode>,
61 pub experimental: bool, 59 pub experimental: bool,
60 pub fixes: Option<Vec<Assist>>,
62} 61}
63 62
64impl Diagnostic { 63impl Diagnostic {
65 fn new(code: &'static str, message: impl Into<String>, range: TextRange) -> Diagnostic { 64 fn new(code: &'static str, message: impl Into<String>, range: TextRange) -> Diagnostic {
66 let message = message.into(); 65 let message = message.into();
67 let code = Some(DiagnosticCode(code)); 66 Diagnostic {
68 Self { 67 code: DiagnosticCode(code),
69 message, 68 message,
70 range, 69 range,
71 severity: Severity::Error, 70 severity: Severity::Error,
72 fixes: None,
73 unused: false, 71 unused: false,
74 code,
75 experimental: false, 72 experimental: false,
73 fixes: None,
76 } 74 }
77 } 75 }
78 76
@@ -181,15 +179,8 @@ pub(crate) fn diagnostics(
181 } 179 }
182 180
183 res.retain(|d| { 181 res.retain(|d| {
184 if let Some(code) = d.code { 182 !ctx.config.disabled.contains(d.code.as_str())
185 if ctx.config.disabled.contains(code.as_str()) { 183 && !(ctx.config.disable_experimental && d.experimental)
186 return false;
187 }
188 }
189 if ctx.config.disable_experimental && d.experimental {
190 return false;
191 }
192 true
193 }); 184 });
194 185
195 res 186 res
diff --git a/crates/ide/src/diagnostics/unresolved_module.rs b/crates/ide/src/diagnostics/unresolved_module.rs
index b1da8f0e1..977b46414 100644
--- a/crates/ide/src/diagnostics/unresolved_module.rs
+++ b/crates/ide/src/diagnostics/unresolved_module.rs
@@ -65,9 +65,14 @@ mod baz {}
65 expect![[r#" 65 expect![[r#"
66 [ 66 [
67 Diagnostic { 67 Diagnostic {
68 code: DiagnosticCode(
69 "unresolved-module",
70 ),
68 message: "unresolved module", 71 message: "unresolved module",
69 range: 0..8, 72 range: 0..8,
70 severity: Error, 73 severity: Error,
74 unused: false,
75 experimental: false,
71 fixes: Some( 76 fixes: Some(
72 [ 77 [
73 Assist { 78 Assist {
@@ -98,13 +103,6 @@ mod baz {}
98 }, 103 },
99 ], 104 ],
100 ), 105 ),
101 unused: false,
102 code: Some(
103 DiagnosticCode(
104 "unresolved-module",
105 ),
106 ),
107 experimental: false,
108 }, 106 },
109 ] 107 ]
110 "#]], 108 "#]],