Merge #3426
3426: Fix `use_self` false positive on `use` statements r=flip1995 a=mikerite Fixes #3425 Co-authored-by: Michael Wright <mikerite@lavabit.com>
This commit is contained in:
commit
6cc502dda0
@ -16,6 +16,7 @@ use crate::rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
|
||||
use crate::rustc::ty;
|
||||
use crate::rustc::{declare_tool_lint, lint_array};
|
||||
use crate::syntax_pos::symbol::keywords::SelfType;
|
||||
use crate::syntax::ast::NodeId;
|
||||
|
||||
/// **What it does:** Checks for unnecessary repetition of structure name when a
|
||||
/// replacement with `Self` is applicable.
|
||||
@ -234,6 +235,10 @@ impl<'a, 'tcx> Visitor<'tcx> for UseSelfVisitor<'a, 'tcx> {
|
||||
walk_path(self, path);
|
||||
}
|
||||
|
||||
fn visit_use(&mut self, _path: &'tcx Path, _id: NodeId, _hir_id: HirId) {
|
||||
// Don't check use statements
|
||||
}
|
||||
|
||||
fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, 'tcx> {
|
||||
NestedVisitorMap::All(&self.cx.tcx.hir)
|
||||
}
|
||||
|
@ -225,7 +225,7 @@ mod issue3410 {
|
||||
struct A;
|
||||
struct B;
|
||||
|
||||
trait Trait<T>: Sized {
|
||||
trait Trait<T> {
|
||||
fn a(v: T);
|
||||
}
|
||||
|
||||
@ -233,3 +233,14 @@ mod issue3410 {
|
||||
fn a(_: Vec<A>) {}
|
||||
}
|
||||
}
|
||||
|
||||
mod issue3425 {
|
||||
enum Enum {
|
||||
A,
|
||||
}
|
||||
impl Enum {
|
||||
fn a () {
|
||||
use self::Enum::*;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user