From 9e0ff24b6dbeaa549775ef77e5fdf8493f0f82da Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Thu, 23 Aug 2018 09:35:49 -0400 Subject: [PATCH] Prefer `.nth(n)` over `.skip(n).next()`. Found by clippy. --- src/libcore/fmt/mod.rs | 2 +- src/librustc_metadata/encoder.rs | 2 +- src/librustc_typeck/check/mod.rs | 2 +- src/test/run-pass-fulldeps/auxiliary/proc_macro_def.rs | 2 +- src/test/run-pass/command-before-exec.rs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libcore/fmt/mod.rs b/src/libcore/fmt/mod.rs index 928f95e3ba2ea..6ed90fdd4b6ee 100644 --- a/src/libcore/fmt/mod.rs +++ b/src/libcore/fmt/mod.rs @@ -1232,7 +1232,7 @@ impl<'a> Formatter<'a> { // If our string is longer that the precision, then we must have // truncation. However other flags like `fill`, `width` and `align` // must act as always. - if let Some((i, _)) = s.char_indices().skip(max).next() { + if let Some((i, _)) = s.char_indices().nth(max) { // LLVM here can't prove that `..i` won't panic `&s[..i]`, but // we know that it can't panic. Use `get` + `unwrap_or` to avoid // `unsafe` and otherwise don't emit any panic-related code diff --git a/src/librustc_metadata/encoder.rs b/src/librustc_metadata/encoder.rs index 44d8d4a727769..8219ec3df248a 100644 --- a/src/librustc_metadata/encoder.rs +++ b/src/librustc_metadata/encoder.rs @@ -1111,7 +1111,7 @@ impl<'a, 'b: 'a, 'tcx: 'b> IsolatedEncoder<'a, 'b, 'tcx> { let trait_ref = tcx.impl_trait_ref(def_id); let parent = if let Some(trait_ref) = trait_ref { let trait_def = tcx.trait_def(trait_ref.def_id); - trait_def.ancestors(tcx, def_id).skip(1).next().and_then(|node| { + trait_def.ancestors(tcx, def_id).nth(1).and_then(|node| { match node { specialization_graph::Node::Impl(parent) => Some(parent), _ => None, diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index aa05191cd4ae6..e88162bc1e92e 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -1434,7 +1434,7 @@ fn check_specialization_validity<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, hir::ImplItemKind::Type(_) => ty::AssociatedKind::Type }; - let parent = ancestors.defs(tcx, trait_item.ident, kind, trait_def.def_id).skip(1).next() + let parent = ancestors.defs(tcx, trait_item.ident, kind, trait_def.def_id).nth(1) .map(|node_item| node_item.map(|parent| parent.defaultness)); if let Some(parent) = parent { diff --git a/src/test/run-pass-fulldeps/auxiliary/proc_macro_def.rs b/src/test/run-pass-fulldeps/auxiliary/proc_macro_def.rs index 9faa7366ec5f1..b9c565a9d3c23 100644 --- a/src/test/run-pass-fulldeps/auxiliary/proc_macro_def.rs +++ b/src/test/run-pass-fulldeps/auxiliary/proc_macro_def.rs @@ -19,7 +19,7 @@ use proc_macro::*; #[proc_macro_attribute] pub fn attr_tru(_attr: TokenStream, item: TokenStream) -> TokenStream { - let name = item.into_iter().skip(1).next().unwrap(); + let name = item.into_iter().nth(1).unwrap(); quote!(fn $name() -> bool { true }) } diff --git a/src/test/run-pass/command-before-exec.rs b/src/test/run-pass/command-before-exec.rs index 9599f65da4eca..c4fc9ee53fd7f 100644 --- a/src/test/run-pass/command-before-exec.rs +++ b/src/test/run-pass/command-before-exec.rs @@ -24,7 +24,7 @@ use std::sync::Arc; use std::sync::atomic::{AtomicUsize, Ordering}; fn main() { - if let Some(arg) = env::args().skip(1).next() { + if let Some(arg) = env::args().nth(1) { match &arg[..] { "test1" => println!("hello2"), "test2" => assert_eq!(env::var("FOO").unwrap(), "BAR"),