about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-12-28 14:07:53 +0000
committerbors <bors@rust-lang.org>2018-12-28 14:07:53 +0000
commit32b3bc231b4d650e138702ecae6432d23945536d (patch)
treec6a642c4fb2805c15e27c72279a974879a73bf47
parentdfe12328223e8c1bcb959d09810e9ba4cd0ddf3b (diff)
parent909bfd3cd843a8a9fea1db1ddf52fc34744b14ac (diff)
downloadrust-32b3bc231b4d650e138702ecae6432d23945536d.tar.gz
rust-32b3bc231b4d650e138702ecae6432d23945536d.zip
Auto merge of #3591 - flip1995:rustup, r=phansch
Match on ast/hir::ExprKind::Err

rustup rust-lang/rust#56999
-rw-r--r--clippy_lints/src/loops.rs3
-rw-r--r--clippy_lints/src/utils/author.rs3
-rw-r--r--clippy_lints/src/utils/hir_utils.rs1
-rw-r--r--clippy_lints/src/utils/inspector.rs3
-rw-r--r--clippy_lints/src/utils/sugg.rs6
5 files changed, 13 insertions, 3 deletions
diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs
index 8664061fb7a..8bf509844ac 100644
--- a/clippy_lints/src/loops.rs
+++ b/clippy_lints/src/loops.rs
@@ -756,7 +756,8 @@ fn never_loop_expr(expr: &Expr, main_loop_id: NodeId) -> NeverLoopResult {
         | ExprKind::Closure(_, _, _, _, _)
         | ExprKind::InlineAsm(_, _, _)
         | ExprKind::Path(_)
-        | ExprKind::Lit(_) => NeverLoopResult::Otherwise,
+        | ExprKind::Lit(_)
+        | ExprKind::Err => NeverLoopResult::Otherwise,
     }
 }
 
diff --git a/clippy_lints/src/utils/author.rs b/clippy_lints/src/utils/author.rs
index 7e09eae1e93..9eb543db6d4 100644
--- a/clippy_lints/src/utils/author.rs
+++ b/clippy_lints/src/utils/author.rs
@@ -504,6 +504,9 @@ impl<'tcx> Visitor<'tcx> for PrintVisitor {
                 self.current = value_pat;
                 self.visit_expr(value);
             },
+            ExprKind::Err => {
+                println!("Err = {}", current);
+            },
         }
     }
 
diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs
index 73169414a02..d7a57945658 100644
--- a/clippy_lints/src/utils/hir_utils.rs
+++ b/clippy_lints/src/utils/hir_utils.rs
@@ -615,6 +615,7 @@ impl<'a, 'tcx: 'a> SpanlessHash<'a, 'tcx> {
                     self.hash_name(l.ident.name);
                 }
             },
+            ExprKind::Err => {},
         }
     }
 
diff --git a/clippy_lints/src/utils/inspector.rs b/clippy_lints/src/utils/inspector.rs
index 93a5845ad45..b9a58c51706 100644
--- a/clippy_lints/src/utils/inspector.rs
+++ b/clippy_lints/src/utils/inspector.rs
@@ -347,6 +347,9 @@ fn print_expr(cx: &LateContext<'_, '_>, expr: &hir::Expr, indent: usize) {
             println!("{}repeat count:", ind);
             print_expr(cx, &cx.tcx.hir().body(anon_const.body).value, indent + 1);
         },
+        hir::ExprKind::Err => {
+            println!("{}Err", ind);
+        },
     }
 }
 
diff --git a/clippy_lints/src/utils/sugg.rs b/clippy_lints/src/utils/sugg.rs
index 66f18b51f21..f087b73bef4 100644
--- a/clippy_lints/src/utils/sugg.rs
+++ b/clippy_lints/src/utils/sugg.rs
@@ -79,7 +79,8 @@ impl<'a> Sugg<'a> {
                 | hir::ExprKind::Ret(..)
                 | hir::ExprKind::Struct(..)
                 | hir::ExprKind::Tup(..)
-                | hir::ExprKind::While(..) => Sugg::NonParen(snippet),
+                | hir::ExprKind::While(..)
+                | hir::ExprKind::Err => Sugg::NonParen(snippet),
                 hir::ExprKind::Assign(..) => Sugg::BinOp(AssocOp::Assign, snippet),
                 hir::ExprKind::AssignOp(op, ..) => Sugg::BinOp(hirbinop2assignop(op), snippet),
                 hir::ExprKind::Binary(op, ..) => Sugg::BinOp(AssocOp::from_ast_binop(higher::binop(op.node)), snippet),
@@ -158,7 +159,8 @@ impl<'a> Sugg<'a> {
             | ast::ExprKind::Tup(..)
             | ast::ExprKind::Array(..)
             | ast::ExprKind::While(..)
-            | ast::ExprKind::WhileLet(..) => Sugg::NonParen(snippet),
+            | ast::ExprKind::WhileLet(..)
+            | ast::ExprKind::Err => Sugg::NonParen(snippet),
             ast::ExprKind::Range(.., RangeLimits::HalfOpen) => Sugg::BinOp(AssocOp::DotDot, snippet),
             ast::ExprKind::Range(.., RangeLimits::Closed) => Sugg::BinOp(AssocOp::DotDotEq, snippet),
             ast::ExprKind::Assign(..) => Sugg::BinOp(AssocOp::Assign, snippet),