From 6c4b06e2e3db2cf93cfd4930a016ab9ae695d4b9 Mon Sep 17 00:00:00 2001
From: Aleksey Kladov <aleksey.kladov@gmail.com>
Date: Mon, 25 Mar 2019 10:59:42 +0300
Subject: [PATCH] simplify

---
 crates/ra_syntax/src/ast.rs | 71 ++++++++++++++++++-------------------
 1 file changed, 34 insertions(+), 37 deletions(-)

diff --git a/crates/ra_syntax/src/ast.rs b/crates/ra_syntax/src/ast.rs
index 226208700eb..a6fac07c414 100644
--- a/crates/ra_syntax/src/ast.rs
+++ b/crates/ra_syntax/src/ast.rs
@@ -603,43 +603,40 @@ pub enum BinOp {
 
 impl BinExpr {
     fn op_details(&self) -> Option<(&SyntaxNode, BinOp)> {
-        self.syntax()
-            .children()
-            .filter_map(|c| match c.kind() {
-                PIPEPIPE => Some((c, BinOp::BooleanOr)),
-                AMPAMP => Some((c, BinOp::BooleanAnd)),
-                EQEQ => Some((c, BinOp::EqualityTest)),
-                NEQ => Some((c, BinOp::NegatedEqualityTest)),
-                LTEQ => Some((c, BinOp::LesserEqualTest)),
-                GTEQ => Some((c, BinOp::GreaterEqualTest)),
-                L_ANGLE => Some((c, BinOp::LesserTest)),
-                R_ANGLE => Some((c, BinOp::GreaterTest)),
-                PLUS => Some((c, BinOp::Addition)),
-                STAR => Some((c, BinOp::Multiplication)),
-                MINUS => Some((c, BinOp::Subtraction)),
-                SLASH => Some((c, BinOp::Division)),
-                PERCENT => Some((c, BinOp::Remainder)),
-                SHL => Some((c, BinOp::LeftShift)),
-                SHR => Some((c, BinOp::RightShift)),
-                CARET => Some((c, BinOp::BitwiseXor)),
-                PIPE => Some((c, BinOp::BitwiseOr)),
-                AMP => Some((c, BinOp::BitwiseAnd)),
-                DOTDOT => Some((c, BinOp::RangeRightOpen)),
-                DOTDOTEQ => Some((c, BinOp::RangeRightClosed)),
-                EQ => Some((c, BinOp::Assignment)),
-                PLUSEQ => Some((c, BinOp::AddAssign)),
-                SLASHEQ => Some((c, BinOp::DivAssign)),
-                STAREQ => Some((c, BinOp::MulAssign)),
-                PERCENTEQ => Some((c, BinOp::RemAssign)),
-                SHREQ => Some((c, BinOp::ShrAssign)),
-                SHLEQ => Some((c, BinOp::ShlAssign)),
-                MINUSEQ => Some((c, BinOp::SubAssign)),
-                PIPEEQ => Some((c, BinOp::BitOrAssign)),
-                AMPEQ => Some((c, BinOp::BitAndAssign)),
-                CARETEQ => Some((c, BinOp::BitXorAssign)),
-                _ => None,
-            })
-            .next()
+        self.syntax().children().find_map(|c| match c.kind() {
+            PIPEPIPE => Some((c, BinOp::BooleanOr)),
+            AMPAMP => Some((c, BinOp::BooleanAnd)),
+            EQEQ => Some((c, BinOp::EqualityTest)),
+            NEQ => Some((c, BinOp::NegatedEqualityTest)),
+            LTEQ => Some((c, BinOp::LesserEqualTest)),
+            GTEQ => Some((c, BinOp::GreaterEqualTest)),
+            L_ANGLE => Some((c, BinOp::LesserTest)),
+            R_ANGLE => Some((c, BinOp::GreaterTest)),
+            PLUS => Some((c, BinOp::Addition)),
+            STAR => Some((c, BinOp::Multiplication)),
+            MINUS => Some((c, BinOp::Subtraction)),
+            SLASH => Some((c, BinOp::Division)),
+            PERCENT => Some((c, BinOp::Remainder)),
+            SHL => Some((c, BinOp::LeftShift)),
+            SHR => Some((c, BinOp::RightShift)),
+            CARET => Some((c, BinOp::BitwiseXor)),
+            PIPE => Some((c, BinOp::BitwiseOr)),
+            AMP => Some((c, BinOp::BitwiseAnd)),
+            DOTDOT => Some((c, BinOp::RangeRightOpen)),
+            DOTDOTEQ => Some((c, BinOp::RangeRightClosed)),
+            EQ => Some((c, BinOp::Assignment)),
+            PLUSEQ => Some((c, BinOp::AddAssign)),
+            SLASHEQ => Some((c, BinOp::DivAssign)),
+            STAREQ => Some((c, BinOp::MulAssign)),
+            PERCENTEQ => Some((c, BinOp::RemAssign)),
+            SHREQ => Some((c, BinOp::ShrAssign)),
+            SHLEQ => Some((c, BinOp::ShlAssign)),
+            MINUSEQ => Some((c, BinOp::SubAssign)),
+            PIPEEQ => Some((c, BinOp::BitOrAssign)),
+            AMPEQ => Some((c, BinOp::BitAndAssign)),
+            CARETEQ => Some((c, BinOp::BitXorAssign)),
+            _ => None,
+        })
     }
 
     pub fn op_kind(&self) -> Option<BinOp> {