From f1e905f62011fc70bf1b6ecef40350eb91bb0acf Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Fri, 7 Apr 2017 11:21:39 +0200 Subject: [PATCH] Reintroduce #768 so we can publish --- clippy_lints/src/panic.rs | 2 +- tests/ui/panic.stderr | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/clippy_lints/src/panic.rs b/clippy_lints/src/panic.rs index 8db7de30f..9c1c6beec 100644 --- a/clippy_lints/src/panic.rs +++ b/clippy_lints/src/panic.rs @@ -42,7 +42,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Pass { let ExprPath(ref qpath) = fun.node, match_def_path(cx.tcx, resolve_node(cx, qpath, fun.id).def_id(), &paths::BEGIN_PANIC), let ExprLit(ref lit) = params[0].node, - is_direct_expn_of(params[0].span, "panic").is_some(), + is_direct_expn_of(expr.span, "panic").is_some(), let LitKind::Str(ref string, _) = lit.node, let Some(par) = string.as_str().find('{'), string.as_str()[par..].contains('}') diff --git a/tests/ui/panic.stderr b/tests/ui/panic.stderr index e69de29bb..451a5db64 100644 --- a/tests/ui/panic.stderr +++ b/tests/ui/panic.stderr @@ -0,0 +1,34 @@ +error: you probably are missing some parameter in your format string + --> $DIR/panic.rs:8:16 + | +8 | panic!("{}"); + | ^^^^ + | +note: lint level defined here + --> $DIR/panic.rs:4:9 + | +4 | #![deny(panic_params)] + | ^^^^^^^^^^^^ + +error: you probably are missing some parameter in your format string + --> $DIR/panic.rs:10:16 + | +10 | panic!("{:?}"); + | ^^^^^^ + +error: you probably are missing some parameter in your format string + --> $DIR/panic.rs:12:23 + | +12 | assert!(true, "here be missing values: {}"); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: you probably are missing some parameter in your format string + --> $DIR/panic.rs:22:5 + | +22 | assert!("foo bar".contains(&format!("foo {}", "bar"))); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: this error originates in a macro outside of the current crate + +error: aborting due to 4 previous errors +