]> git.lizzy.rs Git - rust.git/commitdiff
Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
authorMatthias Krüger <matthias.krueger@famsik.de>
Sat, 5 Jan 2019 09:19:04 +0000 (10:19 +0100)
committerMatthias Krüger <matthias.krueger@famsik.de>
Sat, 5 Jan 2019 09:19:04 +0000 (10:19 +0100)
This reverts commit 0a6593cd1b12c06d4ff2f2ad0ccf20e77f1ec5f6, reversing
changes made to 5277a1fb6c1be42ec0c57a6f60d82fc18a962259.

This hopefully fixes #3628

CHANGELOG.md
README.md
clippy_lints/src/lib.rs
clippy_lints/src/random_state.rs [deleted file]
clippy_lints/src/utils/paths.rs
tests/ui/random_state.rs [deleted file]
tests/ui/random_state.stderr [deleted file]

index b5c8feb8ac6596c911aa028fc28d5d72ad5dfa09..efa637b185cda991a085e29a6047a204ef257244 100644 (file)
@@ -814,7 +814,6 @@ All notable changes to this project will be documented in this file.
 [`ptr_offset_with_cast`]: https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast
 [`pub_enum_variant_names`]: https://rust-lang.github.io/rust-clippy/master/index.html#pub_enum_variant_names
 [`question_mark`]: https://rust-lang.github.io/rust-clippy/master/index.html#question_mark
-[`random_state`]: https://rust-lang.github.io/rust-clippy/master/index.html#random_state
 [`range_minus_one`]: https://rust-lang.github.io/rust-clippy/master/index.html#range_minus_one
 [`range_plus_one`]: https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one
 [`range_step_by_zero`]: https://rust-lang.github.io/rust-clippy/master/index.html#range_step_by_zero
index 8ca10da416ddba62696cc2cba4d5e31d621807d4..be54424dc38114dbcc238fa30d1981f96b6dce48 100644 (file)
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
 
 A collection of lints to catch common mistakes and improve your [Rust](https://github.com/rust-lang/rust) code.
 
-[There are 291 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
+[There are 290 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
 
 We have a bunch of lint categories to allow you to choose how much Clippy is supposed to ~~annoy~~ help you:
 
index 31cd58d2c78d75bbb8a633008697d20f952fc1e5..2e515cc8aea6042b180c0d33133f44165693f052 100644 (file)
@@ -180,7 +180,6 @@ macro_rules! declare_clippy_lint {
 pub mod ptr;
 pub mod ptr_offset_with_cast;
 pub mod question_mark;
-pub mod random_state;
 pub mod ranges;
 pub mod redundant_clone;
 pub mod redundant_field_names;
@@ -487,7 +486,6 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry<'_>, conf: &Conf) {
     reg.register_late_lint_pass(box ptr_offset_with_cast::Pass);
     reg.register_late_lint_pass(box redundant_clone::RedundantClone);
     reg.register_late_lint_pass(box slow_vector_initialization::Pass);
-    reg.register_late_lint_pass(box random_state::Pass);
 
     reg.register_lint_group("clippy::restriction", Some("clippy_restriction"), vec![
         arithmetic::FLOAT_ARITHMETIC,
@@ -1027,7 +1025,6 @@ pub fn register_plugins(reg: &mut rustc_plugin::Registry<'_>, conf: &Conf) {
         fallible_impl_from::FALLIBLE_IMPL_FROM,
         mutex_atomic::MUTEX_INTEGER,
         needless_borrow::NEEDLESS_BORROW,
-        random_state::RANDOM_STATE,
         redundant_clone::REDUNDANT_CLONE,
         unwrap::PANICKING_UNWRAP,
         unwrap::UNNECESSARY_UNWRAP,
diff --git a/clippy_lints/src/random_state.rs b/clippy_lints/src/random_state.rs
deleted file mode 100644 (file)
index f95116c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-use crate::utils::{match_type, paths, span_lint};
-use rustc::hir::Ty;
-use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
-use rustc::ty::subst::UnpackedKind;
-use rustc::ty::TyKind;
-use rustc::{declare_tool_lint, lint_array};
-
-/// **What it does:** Checks for usage of `RandomState`
-///
-/// **Why is this bad?** Some applications don't need collision prevention
-/// which lowers the performance.
-///
-/// **Known problems:** None.
-///
-/// **Example:**
-/// ```rust
-/// fn x() {
-///     let mut map = std::collections::HashMap::new();
-///     map.insert(3, 4);
-/// }
-/// ```
-declare_clippy_lint! {
-    pub RANDOM_STATE,
-    nursery,
-    "use of RandomState"
-}
-
-pub struct Pass;
-
-impl LintPass for Pass {
-    fn get_lints(&self) -> LintArray {
-        lint_array!(RANDOM_STATE)
-    }
-}
-
-impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Pass {
-    fn check_ty(&mut self, cx: &LateContext<'a, 'tcx>, ty: &Ty) {
-        if let Some(tys) = cx.tables.node_id_to_type_opt(ty.hir_id) {
-            if let TyKind::Adt(_, substs) = tys.sty {
-                for subst in substs {
-                    if let UnpackedKind::Type(build_hasher) = subst.unpack() {
-                        if match_type(cx, build_hasher, &paths::RANDOM_STATE) {
-                            span_lint(cx, RANDOM_STATE, ty.span, "usage of RandomState");
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
index 0ec684e36bca9726355c09756f0a1be0dc20d687..0779d77936f52f4dbd7cf8c164d54244fc54e036 100644 (file)
@@ -73,7 +73,6 @@
 pub const PATH_TO_PATH_BUF: [&str; 4] = ["std", "path", "Path", "to_path_buf"];
 pub const PTR_NULL: [&str; 2] = ["ptr", "null"];
 pub const PTR_NULL_MUT: [&str; 2] = ["ptr", "null_mut"];
-pub const RANDOM_STATE: [&str; 5] = ["std", "collections", "hash", "map", "RandomState"];
 pub const RANGE: [&str; 3] = ["core", "ops", "Range"];
 pub const RANGE_ARGUMENT_TRAIT: [&str; 3] = ["core", "ops", "RangeBounds"];
 pub const RANGE_FROM: [&str; 3] = ["core", "ops", "RangeFrom"];
diff --git a/tests/ui/random_state.rs b/tests/ui/random_state.rs
deleted file mode 100644 (file)
index f4fa859..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#![warn(clippy::random_state)]
-
-use std::collections::hash_map::RandomState;
-use std::collections::hash_map::{DefaultHasher, HashMap};
-use std::hash::BuildHasherDefault;
-
-fn main() {
-    // Should warn
-    let mut map = HashMap::new();
-    map.insert(3, 4);
-    let mut map = HashMap::with_hasher(RandomState::new());
-    map.insert(true, false);
-    let _map: HashMap<_, _> = vec![(2, 3)].into_iter().collect();
-    let _vec: Vec<HashMap<i32, i32>>;
-    // Shouldn't warn
-    let _map: HashMap<i32, i32, BuildHasherDefault<DefaultHasher>> = HashMap::default();
-    let mut map = HashMap::with_hasher(BuildHasherDefault::<DefaultHasher>::default());
-    map.insert("a", "b");
-}
diff --git a/tests/ui/random_state.stderr b/tests/ui/random_state.stderr
deleted file mode 100644 (file)
index df224bf..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-error: usage of RandomState
-  --> $DIR/random_state.rs:9:19
-   |
-LL |     let mut map = HashMap::new();
-   |                   ^^^^^^^^^^^^
-   |
-   = note: `-D clippy::random-state` implied by `-D warnings`
-
-error: usage of RandomState
-  --> $DIR/random_state.rs:11:19
-   |
-LL |     let mut map = HashMap::with_hasher(RandomState::new());
-   |                   ^^^^^^^^^^^^^^^^^^^^
-
-error: usage of RandomState
-  --> $DIR/random_state.rs:13:15
-   |
-LL |     let _map: HashMap<_, _> = vec![(2, 3)].into_iter().collect();
-   |               ^^^^^^^^^^^^^
-
-error: usage of RandomState
-  --> $DIR/random_state.rs:14:19
-   |
-LL |     let _vec: Vec<HashMap<i32, i32>>;
-   |                   ^^^^^^^^^^^^^^^^^
-
-error: aborting due to 4 previous errors
-