From 2d352f42ccc4ef6f509f81ef215c1ef65c8c7884 Mon Sep 17 00:00:00 2001 From: Krishna Sai Veera Reddy Date: Thu, 16 Jan 2020 09:44:45 -0800 Subject: [PATCH 1/2] Fix rustc lint import paths generated by `new_lint` --- clippy_dev/src/new_lint.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_dev/src/new_lint.rs b/clippy_dev/src/new_lint.rs index c5733be45eb..450d30c7f95 100644 --- a/clippy_dev/src/new_lint.rs +++ b/clippy_dev/src/new_lint.rs @@ -132,7 +132,7 @@ fn get_lint_file_contents( context_import: &str, ) -> String { format!( - "use rustc::lint::{{LintArray, LintPass, {type}, {context_import}}}; + "use rustc_lint::{{LintArray, LintPass, {type}, {context_import}}}; use rustc_session::{{declare_lint_pass, declare_tool_lint}}; {pass_import} From 9ebac161e4bff5f6c31e38c47bef268197b697a7 Mon Sep 17 00:00:00 2001 From: Krishna Sai Veera Reddy Date: Thu, 16 Jan 2020 10:05:29 -0800 Subject: [PATCH 2/2] Add lifetimes to `LateLintPass` --- clippy_dev/src/new_lint.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/clippy_dev/src/new_lint.rs b/clippy_dev/src/new_lint.rs index 450d30c7f95..76b8dd60d43 100644 --- a/clippy_dev/src/new_lint.rs +++ b/clippy_dev/src/new_lint.rs @@ -11,9 +11,9 @@ pub fn create(pass: Option<&str>, lint_name: Option<&str>, category: Option<&str match open_files(lint_name) { Ok((mut test_file, mut lint_file)) => { - let (pass_type, pass_import, context_import) = match pass { - "early" => ("EarlyLintPass", "use syntax::ast::*;", "EarlyContext"), - "late" => ("LateLintPass", "use rustc_hir::*;", "LateContext"), + let (pass_type, pass_lifetimes, pass_import, context_import) = match pass { + "early" => ("EarlyLintPass", "", "use syntax::ast::*;", "EarlyContext"), + "late" => ("LateLintPass", "<'_, '_>", "use rustc_hir::*;", "LateContext"), _ => { unreachable!("`pass_type` should only ever be `early` or `late`!"); }, @@ -31,6 +31,7 @@ pub fn create(pass: Option<&str>, lint_name: Option<&str>, category: Option<&str if let Err(e) = lint_file.write_all( get_lint_file_contents( pass_type, + pass_lifetimes, lint_name, &camel_case_name, category, @@ -125,6 +126,7 @@ fn main() {{ fn get_lint_file_contents( pass_type: &str, + pass_lifetimes: &str, lint_name: &str, camel_case_name: &str, category: &str, @@ -155,9 +157,10 @@ declare_clippy_lint! {{ declare_lint_pass!({name_camel} => [{name_upper}]); -impl {type} for {name_camel} {{}} +impl {type}{lifetimes} for {name_camel} {{}} ", type=pass_type, + lifetimes=pass_lifetimes, name_upper=lint_name.to_uppercase(), name_camel=camel_case_name, category=category,