From be799bc085f49bec37319d13b490de836d6b76e5 Mon Sep 17 00:00:00 2001 From: mcarton Date: Sun, 20 Nov 2016 00:13:08 +0100 Subject: [PATCH 1/2] Rustup to *rustc 1.15.0-nightly (ac635aa95 2016-11-18)* --- clippy_lints/src/len_zero.rs | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/clippy_lints/src/len_zero.rs b/clippy_lints/src/len_zero.rs index 269936776f7a..a6f488235831 100644 --- a/clippy_lints/src/len_zero.rs +++ b/clippy_lints/src/len_zero.rs @@ -92,7 +92,11 @@ fn check_trait_items(cx: &LateContext, item: &Item, trait_items: &[TraitItem]) { fn is_named_self(item: &TraitItem, name: &str) -> bool { item.name.as_str() == name && if let MethodTraitItem(ref sig, _) = item.node { - is_self_sig(sig) + if sig.decl.has_self() { + sig.decl.inputs.len() == 1 + } else { + false + } } else { false } @@ -111,18 +115,22 @@ fn check_trait_items(cx: &LateContext, item: &Item, trait_items: &[TraitItem]) { } } -fn check_impl_items(cx: &LateContext, item: &Item, impl_items: &[ImplItem]) { - fn is_named_self(item: &ImplItem, name: &str) -> bool { +fn check_impl_items(cx: &LateContext, item: &Item, impl_items: &[ImplItemRef]) { + fn is_named_self(cx: &LateContext, item: &ImplItemRef, name: &str) -> bool { item.name.as_str() == name && - if let ImplItemKind::Method(ref sig, _) = item.node { - is_self_sig(sig) + if let AssociatedItemKind::Method { has_self } = item.kind { + has_self && { + let did = cx.tcx.map.local_def_id(item.id.node_id); + let impl_ty = cx.tcx.item_type(did); + impl_ty.fn_args().skip_binder().len() == 1 + } } else { false } } - let is_empty = if let Some(is_empty) = impl_items.iter().find(|i| is_named_self(i, "is_empty")) { - if cx.access_levels.is_exported(is_empty.id) { + let is_empty = if let Some(is_empty) = impl_items.iter().find(|i| is_named_self(cx, i, "is_empty")) { + if cx.access_levels.is_exported(is_empty.id.node_id) { return; } else { "a private" @@ -131,8 +139,8 @@ fn check_impl_items(cx: &LateContext, item: &Item, impl_items: &[ImplItem]) { "no corresponding" }; - if let Some(i) = impl_items.iter().find(|i| is_named_self(i, "len")) { - if cx.access_levels.is_exported(i.id) { + if let Some(i) = impl_items.iter().find(|i| is_named_self(cx, i, "len")) { + if cx.access_levels.is_exported(i.id.node_id) { let def_id = cx.tcx.map.local_def_id(item.id); let ty = cx.tcx.item_type(def_id); @@ -146,14 +154,6 @@ fn check_impl_items(cx: &LateContext, item: &Item, impl_items: &[ImplItem]) { } } -fn is_self_sig(sig: &MethodSig) -> bool { - if sig.decl.has_self() { - sig.decl.inputs.len() == 1 - } else { - false - } -} - fn check_cmp(cx: &LateContext, span: Span, left: &Expr, right: &Expr, op: &str) { // check if we are in an is_empty() method if let Some(name) = get_item_name(cx, left) { From 40fcae112d52fd2b73ea60d594a9657f510a2216 Mon Sep 17 00:00:00 2001 From: mcarton Date: Sun, 20 Nov 2016 00:14:25 +0100 Subject: [PATCH 2/2] Bump to 0.0.100 --- CHANGELOG.md | 3 +++ Cargo.toml | 4 ++-- clippy_lints/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47b91d267fb7..b299dbd7873d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Change Log All notable changes to this project will be documented in this file. +## 0.0.100 — 2016-11-20 +* Update to *rustc 1.15.0-nightly (ac635aa95 2016-11-18)* + ## 0.0.99 — 2016-11-18 * Update to rustc 1.15.0-nightly (0ed951993 2016-11-14) diff --git a/Cargo.toml b/Cargo.toml index a29b962ec7ec..039ef9e1a1a4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "clippy" -version = "0.0.99" +version = "0.0.100" authors = [ "Manish Goregaokar ", "Andre Bogus ", @@ -25,7 +25,7 @@ test = false [dependencies] # begin automatic update -clippy_lints = { version = "0.0.99", path = "clippy_lints" } +clippy_lints = { version = "0.0.100", path = "clippy_lints" } # end automatic update [dev-dependencies] diff --git a/clippy_lints/Cargo.toml b/clippy_lints/Cargo.toml index f8f40d1ba1cb..c7b0b3577d8c 100644 --- a/clippy_lints/Cargo.toml +++ b/clippy_lints/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "clippy_lints" # begin automatic update -version = "0.0.99" +version = "0.0.100" # end automatic update authors = [ "Manish Goregaokar ",