diff --git a/CHANGELOG.md b/CHANGELOG.md
index e66e00197825..befc30cc21a9 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.138 — 2017-06-05
+* Update to *rustc 1.19.0-nightly (0418fa9d3 2017-06-04)*
+
 ## 0.0.137 — 2017-06-05
 * Update to *rustc 1.19.0-nightly (6684d176c 2017-06-03)*
 
diff --git a/Cargo.toml b/Cargo.toml
index 1f50085c6249..c36b80b8c78c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "clippy"
-version = "0.0.137"
+version = "0.0.138"
 authors = [
 	"Manish Goregaokar <manishsmail@gmail.com>",
 	"Andre Bogus <bogusandre@gmail.com>",
@@ -31,7 +31,7 @@ test = false
 
 [dependencies]
 # begin automatic update
-clippy_lints = { version = "0.0.137", path = "clippy_lints" }
+clippy_lints = { version = "0.0.138", path = "clippy_lints" }
 # end automatic update
 cargo_metadata = "0.2"
 
diff --git a/clippy_lints/Cargo.toml b/clippy_lints/Cargo.toml
index 4901b662045b..320a38e78eb8 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.137"
+version = "0.0.138"
 # end automatic update
 authors = [
 	"Manish Goregaokar <manishsmail@gmail.com>",
diff --git a/clippy_lints/src/utils/higher.rs b/clippy_lints/src/utils/higher.rs
index 494182ae545b..5113f1224fe2 100644
--- a/clippy_lints/src/utils/higher.rs
+++ b/clippy_lints/src/utils/higher.rs
@@ -129,16 +129,13 @@ pub fn for_loop(expr: &hir::Expr) -> Option<(&hir::Pat, &hir::Expr, &hir::Expr)>
         let hir::ExprCall(_, ref iterargs) = iterexpr.node,
         iterargs.len() == 1 && arms.len() == 1 && arms[0].guard.is_none(),
         let hir::ExprLoop(ref block, _, _) = arms[0].body.node,
-        block.stmts.is_empty(),
-        let Some(ref loopexpr) = block.expr,
-        let hir::ExprMatch(_, ref innerarms, hir::MatchSource::ForLoopDesugar) = loopexpr.node,
-        innerarms.len() == 2 && innerarms[0].pats.len() == 1,
-        let hir::PatKind::TupleStruct(_, ref somepats, _) = innerarms[0].pats[0].node,
-        somepats.len() == 1
+        block.expr.is_none(),
+        let [ ref let_stmt, ref body ] = *block.stmts,
+        let hir::StmtDecl(ref decl, _) = let_stmt.node,
+        let hir::DeclLocal(ref decl) = decl.node,
+        let hir::StmtExpr(ref expr, _) = body.node,
     ], {
-        return Some((&somepats[0],
-                     &iterargs[0],
-                     &innerarms[0].body));
+        return Some((&*decl.pat, &iterargs[0], expr));
     }}
     None
 }