some more clippy lints
diff --git a/benches/common/factories.rs b/benches/common/factories.rs
index f78ed26..f20e7bf 100644
--- a/benches/common/factories.rs
+++ b/benches/common/factories.rs
@@ -162,7 +162,7 @@
     let lines = s.lines().filter(|l| !l.is_empty());
     for (row, line) in lines.enumerate() {
         for (col, word) in line.split(' ')
-                                .filter(|s| s.len() > 0)
+                                .filter(|s| !s.is_empty())
                                 .enumerate()
         {
             let has_edge = word.parse::<i32>().unwrap();
diff --git a/benches/matrix_graph.rs b/benches/matrix_graph.rs
index 084074c..6877a89 100644
--- a/benches/matrix_graph.rs
+++ b/benches/matrix_graph.rs
@@ -30,7 +30,7 @@
         let mut g = g.clone();
 
         for &node in nodes.iter() {
-            let _ = g.add_edge(node, node, ());
+            g.add_edge(node, node, ());
         }
     });
 }
@@ -51,14 +51,14 @@
 
             edges
         })
-        .flat_map(|e| e)
+        .flatten()
         .collect();
 
     b.iter(|| {
         let mut g = g.clone();
 
         for &(source, target) in edges_to_add.iter() {
-            let _ = g.add_edge(source, target, ());
+            g.add_edge(source, target, ());
         }
     });
 }
@@ -157,7 +157,7 @@
     let lines = s.lines().filter(|l| !l.is_empty());
     for (row, line) in lines.enumerate() {
         for (col, word) in line.split(' ')
-                                .filter(|s| s.len() > 0)
+                                .filter(|s| !s.is_empty())
                                 .enumerate()
         {
             let has_edge = word.parse::<i32>().unwrap();
diff --git a/src/graph_impl/mod.rs b/src/graph_impl/mod.rs
index 74b840f..0d7a2ed 100644
--- a/src/graph_impl/mod.rs
+++ b/src/graph_impl/mod.rs
@@ -610,9 +610,7 @@
     /// endpoint in the displaced node.
     pub fn remove_node(&mut self, a: NodeIndex<Ix>) -> Option<N>
     {
-        if self.nodes.get(a.index()).is_none() {
-            return None
-        }
+        self.nodes.get(a.index())?;
         for d in &DIRECTIONS {
             let k = d.index();
 
diff --git a/src/graph_impl/stable_graph/mod.rs b/src/graph_impl/stable_graph/mod.rs
index 338a69f..3a0f90f 100644
--- a/src/graph_impl/stable_graph/mod.rs
+++ b/src/graph_impl/stable_graph/mod.rs
@@ -220,7 +220,7 @@
         self.g.edges.clear();
         // clear edges without touching the free list
         for node in &mut self.g.nodes {
-            if let Some(_) = node.weight {
+            if node.weight.is_some() {
                 node.next = [EdgeIndex::end(), EdgeIndex::end()];
             }
         }
@@ -973,7 +973,7 @@
         let mut free_node_len = 0;
         while free_node != NodeIndex::end() {
             if let Some(n) = self.g.nodes.get(free_node.index()) {
-                if let None = n.weight {
+                if n.weight.is_none() {
                     free_node = n.next[0]._into_node();
                     free_node_len += 1;
                     continue;
@@ -989,7 +989,7 @@
         let mut free_edge = self.free_edge;
         while free_edge != EdgeIndex::end() {
             if let Some(n) = self.g.edges.get(free_edge.index()) {
-                if let None = n.weight {
+                if n.weight.is_none() {
                     free_edge = n.next[0];
                     free_edge_len += 1;
                     continue;
diff --git a/tests/iso.rs b/tests/iso.rs
index 34d153c..539e81b 100644
--- a/tests/iso.rs
+++ b/tests/iso.rs
@@ -215,7 +215,7 @@
     let lines = s.lines().filter(|l| !l.is_empty());
     for (row, line) in lines.enumerate() {
         for (col, word) in line.split(' ')
-                                .filter(|s| s.len() > 0)
+                                .filter(|s| !s.is_empty())
                                 .enumerate()
         {
             let has_edge = word.parse::<i32>().unwrap();