From f04acdd46353322c5e9c44c85e4129083dcaf082 Mon Sep 17 00:00:00 2001 From: Philipp Hansch Date: Fri, 8 Mar 2019 09:50:20 +0100 Subject: [PATCH] Document match_path, improve match_qpath docs --- clippy_lints/src/utils/mod.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/clippy_lints/src/utils/mod.rs b/clippy_lints/src/utils/mod.rs index 70ba0592c..83c7d586e 100644 --- a/clippy_lints/src/utils/mod.rs +++ b/clippy_lints/src/utils/mod.rs @@ -190,7 +190,10 @@ pub fn single_segment_path(path: &QPath) -> Option<&PathSegment> { } } -/// Match a `Path` against a slice of segment string literals. +/// Match a `QPath` against a slice of segment string literals. +/// +/// There is also `match_path` if you are dealing with a `rustc::hir::Path` instead of a +/// `rustc::hir::QPath`. /// /// # Examples /// ```rust,ignore @@ -210,6 +213,22 @@ pub fn match_qpath(path: &QPath, segments: &[&str]) -> bool { } } +/// Match a `Path` against a slice of segment string literals. +/// +/// There is also `match_qpath` if you are dealing with a `rustc::hir::QPath` instead of a +/// `rustc::hir::Path`. +/// +/// # Examples +/// +/// ```rust,ignore +/// if match_path(&trait_ref.path, &paths::HASH) { +/// // This is the `std::hash::Hash` trait. +/// } +/// +/// if match_path(ty_path, &["rustc", "lint", "Lint"]) { +/// // This is a `rustc::lint::Lint`. +/// } +/// ``` pub fn match_path(path: &Path, segments: &[&str]) -> bool { path.segments .iter()