about summary refs log tree commit diff
path: root/clippy_dev
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-03-18 14:56:05 +0000
committerbors <bors@rust-lang.org>2020-03-18 14:56:05 +0000
commite004b9431d608bc6fcceb7f175138dccce163eb5 (patch)
treed57176635d6ee36001cae2da4523d68653f04aa5 /clippy_dev
parent08fc39813f56e109d7c1ecb3fce450bb3a08bede (diff)
parentec1dcde46b44b4fb6fabf4a5e0fc43dcb4277bb8 (diff)
downloadrust-e004b9431d608bc6fcceb7f175138dccce163eb5.tar.gz
rust-e004b9431d608bc6fcceb7f175138dccce163eb5.zip
Auto merge of #5329 - matthiaskrgr:int_arith_on_ref_5328, r=flip1995
integer_arithmetic: detect integer arithmetic on references.

changelog: integer_arithmetic fix false negatives with references on integers

Fixes #5328
Diffstat (limited to 'clippy_dev')
-rw-r--r--clippy_dev/src/stderr_length_check.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/clippy_dev/src/stderr_length_check.rs b/clippy_dev/src/stderr_length_check.rs
index 041ee691137..c511733f7bf 100644
--- a/clippy_dev/src/stderr_length_check.rs
+++ b/clippy_dev/src/stderr_length_check.rs
@@ -4,6 +4,8 @@ use std::path::{Path, PathBuf};
 
 use walkdir::WalkDir;
 
+use clippy_dev::clippy_project_root;
+
 // The maximum length allowed for stderr files.
 //
 // We limit this because small files are easier to deal with than bigger files.
@@ -14,22 +16,24 @@ pub fn check() {
 
     if !exceeding_files.is_empty() {
         eprintln!("Error: stderr files exceeding limit of {} lines:", LENGTH_LIMIT);
-        for path in exceeding_files {
-            println!("{}", path.display());
+        for (path, count) in exceeding_files {
+            println!("{}: {}", path.display(), count);
         }
         std::process::exit(1);
     }
 }
 
-fn exceeding_stderr_files() -> Vec<PathBuf> {
+fn exceeding_stderr_files() -> Vec<(PathBuf, usize)> {
     // We use `WalkDir` instead of `fs::read_dir` here in order to recurse into subdirectories.
-    WalkDir::new("../tests/ui")
+    WalkDir::new(clippy_project_root().join("tests/ui"))
         .into_iter()
         .filter_map(Result::ok)
+        .filter(|f| !f.file_type().is_dir())
         .filter_map(|e| {
             let p = e.into_path();
-            if p.extension() == Some(OsStr::new("stderr")) && count_linenumbers(&p) > LENGTH_LIMIT {
-                Some(p)
+            let count = count_linenumbers(&p);
+            if p.extension() == Some(OsStr::new("stderr")) && count > LENGTH_LIMIT {
+                Some((p, count))
             } else {
                 None
             }