about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2019-12-28 22:45:41 +0900
committerYuki Okushi <huyuumi.dev@gmail.com>2019-12-28 22:45:41 +0900
commitbca125935c2780bb97faa9fca3cea1b84df7f973 (patch)
treeab74ee5d61d40d703633bd1fe245493e238be752
parentfbdb13cfb02b320fbee061bcf58af885bd2847df (diff)
downloadrust-bca125935c2780bb97faa9fca3cea1b84df7f973.tar.gz
rust-bca125935c2780bb97faa9fca3cea1b84df7f973.zip
code review
-rw-r--r--clippy_lints/src/mut_key.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/clippy_lints/src/mut_key.rs b/clippy_lints/src/mut_key.rs
index ef3ae45f181..6acf9028422 100644
--- a/clippy_lints/src/mut_key.rs
+++ b/clippy_lints/src/mut_key.rs
@@ -103,7 +103,7 @@ fn check_ty<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, span: Span, ty: Ty<'tcx>) {
             .iter()
             .any(|path| match_def_path(cx, def.did, &**path))
         {
-            let key_type = concrete_type(Some(substs.type_at(0)));
+            let key_type = concrete_type(substs.type_at(0));
             if let Some(key_type) = key_type {
                 if !key_type.is_freeze(cx.tcx, cx.param_env, span) {
                     span_lint(cx, MUTABLE_KEY_TYPE, span, "mutable key type");
@@ -113,13 +113,10 @@ fn check_ty<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, span: Span, ty: Ty<'tcx>) {
     }
 }
 
-fn concrete_type(ty: Option<Ty<'_>>) -> Option<Ty<'_>> {
-    if let Some(ty) = ty {
-        match ty.kind {
-            RawPtr(TypeAndMut { ty: inner_ty, .. }) | Ref(_, inner_ty, _) => return concrete_type(Some(inner_ty)),
-            Dynamic(..) | Opaque(..) | Param(..) => return None,
-            _ => return Some(ty),
-        }
+fn concrete_type(ty: Ty<'_>) -> Option<Ty<'_>> {
+    match ty.kind {
+        RawPtr(TypeAndMut { ty: inner_ty, .. }) | Ref(_, inner_ty, _) => concrete_type(inner_ty),
+        Dynamic(..) | Opaque(..) | Param(..) => None,
+        _ => Some(ty),
     }
-    None
 }