diff --git a/clippy_lints/Cargo.toml b/clippy_lints/Cargo.toml index b168f86f56aa..15da5d658780 100644 --- a/clippy_lints/Cargo.toml +++ b/clippy_lints/Cargo.toml @@ -33,6 +33,7 @@ unicode-normalization = "0.1" pulldown-cmark = "0.1" url = "1.7.0" if_chain = "0.1.3" +smallvec = { version = "0.6.5", features = ["union"] } [features] debugging = [] diff --git a/clippy_lints/src/copies.rs b/clippy_lints/src/copies.rs index 04a297e5e7e9..26669d8c4c2a 100644 --- a/clippy_lints/src/copies.rs +++ b/clippy_lints/src/copies.rs @@ -6,7 +6,7 @@ use crate::rustc_data_structures::fx::FxHashMap; use std::collections::hash_map::Entry; use std::hash::BuildHasherDefault; use crate::syntax::symbol::LocalInternedString; -use crate::rustc_data_structures::small_vec::OneVector; +use smallvec::SmallVec; use crate::utils::{SpanlessEq, SpanlessHash}; use crate::utils::{get_parent_expr, in_macro, snippet, span_lint_and_then, span_note_and_lint}; @@ -235,9 +235,9 @@ fn lint_match_arms(cx: &LateContext<'_, '_>, expr: &Expr) { /// sequence of `if/else`. /// Eg. would return `([a, b], [c, d, e])` for the expression /// `if a { c } else if b { d } else { e }`. -fn if_sequence(mut expr: &Expr) -> (OneVector<&Expr>, OneVector<&Block>) { - let mut conds = OneVector::new(); - let mut blocks: OneVector<&Block> = OneVector::new(); +fn if_sequence(mut expr: &Expr) -> (SmallVec<[&Expr; 1]>, SmallVec<[&Block; 1]>) { + let mut conds = SmallVec::new(); + let mut blocks: SmallVec<[&Block; 1]> = SmallVec::new(); while let ExprKind::If(ref cond, ref then_expr, ref else_expr) = expr.node { conds.push(&**cond); diff --git a/tests/dogfood.rs b/tests/dogfood.rs index a586d89ca4f9..2ff4274a1a92 100644 --- a/tests/dogfood.rs +++ b/tests/dogfood.rs @@ -4,14 +4,16 @@ fn dogfood() { return; } let root_dir = std::env::current_dir().unwrap(); - for d in &[".", "clippy_lints"] { + for d in &[".", "clippy_lints", "rustc_tools_util", "clippy_dev"] { std::env::set_current_dir(root_dir.join(d)).unwrap(); let output = std::process::Command::new("cargo") .arg("run") .arg("--bin") .arg("cargo-clippy") + .arg("--all-features") .arg("--manifest-path") .arg(root_dir.join("Cargo.toml")) + .args(&["--", "-W clippy::internal"]) .env("CLIPPY_DOGFOOD", "true") .output() .unwrap();