Skip to content

Commit bc8389a

Browse files
committed
store NoqaCode instead of Rule on Message
1 parent 3cfcf64 commit bc8389a

File tree

1 file changed

+9
-5
lines changed
  • crates/ruff_linter/src/message

1 file changed

+9
-5
lines changed

crates/ruff_linter/src/message/mod.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ pub struct Message {
6060
pub fix: Option<Fix>,
6161
pub parent: Option<TextSize>,
6262
pub(crate) noqa_offset: Option<TextSize>,
63-
rule: Option<Rule>,
63+
noqa_code: Option<NoqaCode>,
6464
}
6565

6666
impl Message {
@@ -77,7 +77,7 @@ impl Message {
7777
fix: None,
7878
parent: None,
7979
noqa_offset: None,
80-
rule: None,
80+
noqa_code: None,
8181
}
8282
}
8383

@@ -109,7 +109,7 @@ impl Message {
109109
fix,
110110
parent,
111111
noqa_offset,
112-
rule: Some(rule),
112+
noqa_code: Some(rule.noqa_code()),
113113
}
114114
}
115115

@@ -229,12 +229,16 @@ impl Message {
229229

230230
/// Returns the [`Rule`] corresponding to the diagnostic message.
231231
pub fn to_rule(&self) -> Option<Rule> {
232-
self.rule
232+
if self.is_syntax_error() {
233+
None
234+
} else {
235+
Some(self.name().parse().expect("Expected a valid rule name"))
236+
}
233237
}
234238

235239
/// Returns the [`NoqaCode`] corresponding to the diagnostic message.
236240
pub fn to_noqa_code(&self) -> Option<NoqaCode> {
237-
self.to_rule().map(|rule| rule.noqa_code())
241+
self.noqa_code
238242
}
239243

240244
/// Returns the URL for the rule documentation, if it exists.

0 commit comments

Comments
 (0)