Skip to content

Commit

Permalink
Slightly clean up some lint infra code
Browse files Browse the repository at this point in the history
* inline `LintBuffer::add_lint`, it only had a single use
* update a lint infra example code snippet
  * it used the wrong API (the snippet isn't tested)
  * presumably the arguments were updated from builder to diag struct style
    at some point without updating the method
  • Loading branch information
fmease committed May 23, 2024
1 parent b54dd08 commit 366ef95
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 17 deletions.
25 changes: 9 additions & 16 deletions compiler/rustc_lint_defs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -764,19 +764,7 @@ pub struct LintBuffer {

impl LintBuffer {
pub fn add_early_lint(&mut self, early_lint: BufferedEarlyLint) {
let arr = self.map.entry(early_lint.node_id).or_default();
arr.push(early_lint);
}

pub fn add_lint(
&mut self,
lint: &'static Lint,
node_id: NodeId,
span: MultiSpan,
diagnostic: BuiltinLintDiag,
) {
let lint_id = LintId::of(lint);
self.add_early_lint(BufferedEarlyLint { lint_id, node_id, span, diagnostic });
self.map.entry(early_lint.node_id).or_default().push(early_lint);
}

pub fn take(&mut self, id: NodeId) -> Vec<BufferedEarlyLint> {
Expand All @@ -787,11 +775,16 @@ impl LintBuffer {
pub fn buffer_lint(
&mut self,
lint: &'static Lint,
id: NodeId,
sp: impl Into<MultiSpan>,
node_id: NodeId,
span: impl Into<MultiSpan>,
diagnostic: BuiltinLintDiag,
) {
self.add_lint(lint, id, sp.into(), diagnostic)
self.add_early_lint(BufferedEarlyLint {
lint_id: LintId::of(lint),
node_id,
span: span.into(),
diagnostic,
});
}
}

Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_macros/src/diagnostics/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ pub fn diagnostic_derive(mut s: Structure<'_>) -> TokenStream {
/// Then, later, to emit the error:
///
/// ```ignore (rust)
/// cx.span_lint(INVALID_ATOMIC_ORDERING, fail_order_arg_span, AtomicOrderingInvalidLint {
/// cx.emit_span_lint(INVALID_ATOMIC_ORDERING, fail_order_arg_span, AtomicOrderingInvalidLint {
/// method,
/// success_ordering,
/// fail_ordering,
Expand Down

0 comments on commit 366ef95

Please sign in to comment.