Skip to content

Commit

Permalink
Rollup merge of #136242 - samueltardieu:remove-match-def-path, r=flip…
Browse files Browse the repository at this point in the history
…1995

Remove `LateContext::match_def_path()`

This function was only kept for Clippy use. The last use in Clippy was removed in c9315bc.
  • Loading branch information
matthiaskrgr authored Feb 4, 2025
2 parents 01e4f19 + 0bb3d52 commit 40c4e05
Showing 1 changed file with 1 addition and 25 deletions.
26 changes: 1 addition & 25 deletions compiler/rustc_lint/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
//! overview of how lints are implemented.
use std::cell::Cell;
use std::{iter, slice};
use std::slice;

use rustc_data_structures::fx::FxIndexMap;
use rustc_data_structures::sync;
Expand Down Expand Up @@ -718,30 +718,6 @@ impl<'tcx> LateContext<'tcx> {
}
}

/// Check if a `DefId`'s path matches the given absolute type path usage.
///
/// Anonymous scopes such as `extern` imports are matched with `kw::Empty`;
/// inherent `impl` blocks are matched with the name of the type.
///
/// Instead of using this method, it is often preferable to instead use
/// `rustc_diagnostic_item` or a `lang_item`. This is less prone to errors
/// as paths get invalidated if the target definition moves.
///
/// # Examples
///
/// ```rust,ignore (no context or def id available)
/// if cx.match_def_path(def_id, &[sym::core, sym::option, sym::Option]) {
/// // The given `def_id` is that of an `Option` type
/// }
/// ```
///
/// Used by clippy, but should be replaced by diagnostic items eventually.
pub fn match_def_path(&self, def_id: DefId, path: &[Symbol]) -> bool {
let names = self.get_def_path(def_id);

names.len() == path.len() && iter::zip(names, path).all(|(a, &b)| a == b)
}

/// Gets the absolute path of `def_id` as a vector of `Symbol`.
///
/// # Examples
Expand Down

0 comments on commit 40c4e05

Please sign in to comment.