about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-01-30 14:41:43 +0000
committerbors <bors@rust-lang.org>2024-01-30 14:41:43 +0000
commitda4d5f8f2956fa8584e26b457ef9220dc6d72f3a (patch)
tree103326cd21c1a44b05be03d4c8eb1916241509a6
parent11b401d0b4a743ed1a30791d351df447d691823f (diff)
parent43b1ae04466b4fff30772d0bbb0743a8fb3639a7 (diff)
downloadrust-da4d5f8f2956fa8584e26b457ef9220dc6d72f3a.tar.gz
rust-da4d5f8f2956fa8584e26b457ef9220dc6d72f3a.zip
Auto merge of #16413 - Urhengulas:clippy-ci, r=Veykril
internal: Add `clippy` to CI

Follow-up to #16401
-rw-r--r--.github/workflows/ci.yaml6
-rw-r--r--crates/hir-expand/src/attrs.rs2
-rw-r--r--crates/hir-expand/src/mod_path.rs2
-rw-r--r--crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs2
-rw-r--r--crates/hir-ty/src/mir/eval.rs2
-rw-r--r--crates/hir/src/attrs.rs2
-rw-r--r--crates/proc-macro-srv/proc-macro-test/build.rs10
7 files changed, 15 insertions, 11 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index be830415f9c..b5c5ff04738 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -90,7 +90,7 @@ jobs:
       - name: Switch to stable toolchain
         run: |
           rustup update --no-self-update stable
-          rustup component add --toolchain stable rust-src
+          rustup component add --toolchain stable rust-src clippy
           rustup default stable
 
       - name: Run analysis-stats on rust-analyzer
@@ -103,6 +103,10 @@ jobs:
           RUSTC_BOOTSTRAP: 1
         run: target/${{ matrix.target }}/debug/rust-analyzer analysis-stats --with-deps $(rustc --print sysroot)/lib/rustlib/src/rust/library/std
 
+      - name: clippy
+        if: matrix.os == 'ubuntu-latest'
+        run: cargo clippy --all-targets
+
   # Weird targets to catch non-portable code
   rust-cross:
     if: github.repository == 'rust-lang/rust-analyzer'
diff --git a/crates/hir-expand/src/attrs.rs b/crates/hir-expand/src/attrs.rs
index 30d38299d99..b0b2501ce9d 100644
--- a/crates/hir-expand/src/attrs.rs
+++ b/crates/hir-expand/src/attrs.rs
@@ -235,7 +235,7 @@ impl Attr {
         let (path, input) = tt.split_at(path_end);
         let path = Interned::new(ModPath::from_tt(db, path)?);
 
-        let input = match input.get(0) {
+        let input = match input.first() {
             Some(tt::TokenTree::Subtree(tree)) => {
                 Some(Interned::new(AttrInput::TokenTree(Box::new(tree.clone()))))
             }
diff --git a/crates/hir-expand/src/mod_path.rs b/crates/hir-expand/src/mod_path.rs
index 0eb1fc1eb50..dd41bcaee20 100644
--- a/crates/hir-expand/src/mod_path.rs
+++ b/crates/hir-expand/src/mod_path.rs
@@ -232,7 +232,7 @@ fn convert_path(
         ast::PathSegmentKind::SuperKw => {
             let mut deg = 1;
             let mut next_segment = None;
-            while let Some(segment) = segments.next() {
+            for segment in segments.by_ref() {
                 match segment.kind()? {
                     ast::PathSegmentKind::SuperKw => deg += 1,
                     ast::PathSegmentKind::Name(name) => {
diff --git a/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs b/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs
index cd67ca59931..e2d8c97cd97 100644
--- a/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs
+++ b/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs
@@ -237,7 +237,7 @@ impl<'p> MatchCheckCtx<'p> {
                 ctor = Or;
                 // Collect here because `Arena::alloc_extend` panics on reentrancy.
                 let subpats: SmallVec<[_; 2]> =
-                    pats.into_iter().map(|pat| self.lower_pat(pat)).collect();
+                    pats.iter().map(|pat| self.lower_pat(pat)).collect();
                 fields = self.pattern_arena.alloc_extend(subpats);
             }
         }
diff --git a/crates/hir-ty/src/mir/eval.rs b/crates/hir-ty/src/mir/eval.rs
index 885360d05fe..b821942f212 100644
--- a/crates/hir-ty/src/mir/eval.rs
+++ b/crates/hir-ty/src/mir/eval.rs
@@ -1715,7 +1715,7 @@ impl Evaluator<'_> {
         let v: Cow<'_, [u8]> = if size != v.len() {
             // Handle self enum
             if size == 16 && v.len() < 16 {
-                Cow::Owned(pad16(&v, false).to_vec())
+                Cow::Owned(pad16(v, false).to_vec())
             } else if size < 16 && v.len() == 16 {
                 Cow::Borrowed(&v[0..size])
             } else {
diff --git a/crates/hir/src/attrs.rs b/crates/hir/src/attrs.rs
index fc0a196df7c..f2b9db669e0 100644
--- a/crates/hir/src/attrs.rs
+++ b/crates/hir/src/attrs.rs
@@ -311,7 +311,7 @@ fn modpath_from_str(link: &str) -> Option<ModPath> {
             "self" => PathKind::Super(0),
             "super" => {
                 let mut deg = 1;
-                while let Some(segment) = parts.next() {
+                for segment in parts.by_ref() {
                     if segment == "super" {
                         deg += 1;
                     } else {
diff --git a/crates/proc-macro-srv/proc-macro-test/build.rs b/crates/proc-macro-srv/proc-macro-test/build.rs
index c9b605a8087..ff62980e4ff 100644
--- a/crates/proc-macro-srv/proc-macro-test/build.rs
+++ b/crates/proc-macro-srv/proc-macro-test/build.rs
@@ -109,11 +109,11 @@ fn main() {
     let mut artifact_path = None;
     for message in Message::parse_stream(output.stdout.as_slice()) {
         if let Message::CompilerArtifact(artifact) = message.unwrap() {
-            if artifact.target.kind.contains(&"proc-macro".to_string()) {
-                if artifact.package_id.repr.starts_with(&repr) || artifact.package_id.repr == pkgid
-                {
-                    artifact_path = Some(PathBuf::from(&artifact.filenames[0]));
-                }
+            if artifact.target.kind.contains(&"proc-macro".to_string())
+                && (artifact.package_id.repr.starts_with(&repr)
+                    || artifact.package_id.repr == pkgid)
+            {
+                artifact_path = Some(PathBuf::from(&artifact.filenames[0]));
             }
         }
     }