diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-12-28 22:45:41 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-12-28 22:45:41 +0900 |
| commit | bca125935c2780bb97faa9fca3cea1b84df7f973 (patch) | |
| tree | ab74ee5d61d40d703633bd1fe245493e238be752 | |
| parent | fbdb13cfb02b320fbee061bcf58af885bd2847df (diff) | |
| download | rust-bca125935c2780bb97faa9fca3cea1b84df7f973.tar.gz rust-bca125935c2780bb97faa9fca3cea1b84df7f973.zip | |
code review
| -rw-r--r-- | clippy_lints/src/mut_key.rs | 15 |
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 } |
