Auto merge of #4721 - phansch:fix_try_err_in_ext_macro, r=flip1995
Don't emit try_err lint in external macros changelog: Fix [`try_err`] false positive in external macros Closes #4709
This commit is contained in:
commit
bfef48f185
5 changed files with 37 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use crate::utils::{match_qpath, paths, snippet, snippet_with_macro_callsite, span_lint_and_sugg};
|
||||
use if_chain::if_chain;
|
||||
use rustc::hir::*;
|
||||
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
|
||||
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintPass};
|
||||
use rustc::ty::Ty;
|
||||
use rustc::{declare_lint_pass, declare_tool_lint};
|
||||
use rustc_errors::Applicability;
|
||||
|
|
@ -54,6 +54,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for TryErr {
|
|||
// val,
|
||||
// };
|
||||
if_chain! {
|
||||
if !in_external_macro(cx.tcx.sess, expr.span);
|
||||
if let ExprKind::Match(ref match_arg, _, MatchSource::TryDesugar) = expr.kind;
|
||||
if let ExprKind::Call(ref match_fun, ref try_args) = match_arg.kind;
|
||||
if let ExprKind::Path(ref match_fun_path) = match_fun.kind;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue