mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 23:20:39 +00:00
commit
25de6a1fd5
5 changed files with 30 additions and 9 deletions
|
@ -198,7 +198,7 @@ fn has_is_empty(cx: &LateContext, expr: &Expr) -> bool {
|
|||
}
|
||||
ty::TyProjection(_) => ty.ty_to_def_id().map_or(false, |id| has_is_empty_impl(cx, &id)),
|
||||
ty::TyEnum(ref id, _) | ty::TyStruct(ref id, _) => has_is_empty_impl(cx, &id.did),
|
||||
ty::TyArray(..) => true,
|
||||
ty::TyArray(..) | ty::TyStr => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,8 @@ impl LateLintPass for PanicPass {
|
|||
match_path(path, &BEGIN_UNWIND),
|
||||
let ExprLit(ref lit) = params[0].node,
|
||||
let LitKind::Str(ref string, _) = lit.node,
|
||||
string.contains('{'),
|
||||
let Some(par) = string.find('{'),
|
||||
string[par..].contains('}'),
|
||||
let Some(sp) = cx.sess().codemap()
|
||||
.with_expn_info(expr.span.expn_id,
|
||||
|info| info.map(|i| i.call_site))
|
||||
|
|
|
@ -383,14 +383,14 @@ fn trim_multiline_inner(s: Cow<str>, ignore_first: bool, ch: char) -> Cow<str> {
|
|||
let x = s.lines()
|
||||
.skip(ignore_first as usize)
|
||||
.filter_map(|l| {
|
||||
if l.len() > 0 {
|
||||
if l.is_empty() {
|
||||
None
|
||||
} else {
|
||||
// ignore empty lines
|
||||
Some(l.char_indices()
|
||||
.find(|&(_, x)| x != ch)
|
||||
.unwrap_or((l.len(), ch))
|
||||
.0)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.min()
|
||||
|
@ -399,7 +399,7 @@ fn trim_multiline_inner(s: Cow<str>, ignore_first: bool, ch: char) -> Cow<str> {
|
|||
Cow::Owned(s.lines()
|
||||
.enumerate()
|
||||
.map(|(i, l)| {
|
||||
if (ignore_first && i == 0) || l.len() == 0 {
|
||||
if (ignore_first && i == 0) || l.is_empty() {
|
||||
l
|
||||
} else {
|
||||
l.split_at(x).1
|
||||
|
|
|
@ -76,6 +76,12 @@ fn main() {
|
|||
println!("This should not happen!");
|
||||
}
|
||||
|
||||
if "".len() == 0 {
|
||||
//~^ERROR length comparison to zero
|
||||
//~|HELP consider using `is_empty`
|
||||
//~|SUGGESTION "".is_empty()
|
||||
}
|
||||
|
||||
let y = One;
|
||||
if y.len() == 0 { //no error because One does not have .is_empty()
|
||||
println!("This should not happen either!");
|
||||
|
|
|
@ -4,10 +4,14 @@
|
|||
#[deny(panic_params)]
|
||||
|
||||
fn missing() {
|
||||
panic!("{}"); //~ERROR: You probably are missing some parameter
|
||||
if true {
|
||||
panic!("{}"); //~ERROR: You probably are missing some parameter
|
||||
} else {
|
||||
panic!("{:?}"); //~ERROR: You probably are missing some parameter
|
||||
}
|
||||
}
|
||||
|
||||
fn ok_sigle() {
|
||||
fn ok_single() {
|
||||
panic!("foo bar");
|
||||
}
|
||||
|
||||
|
@ -15,8 +19,18 @@ fn ok_multiple() {
|
|||
panic!("{}", "This is {ok}");
|
||||
}
|
||||
|
||||
fn ok_bracket() {
|
||||
// the match is just here because of #759, it serves no other purpose for the lint
|
||||
match 42 {
|
||||
1337 => panic!("{so is this"),
|
||||
666 => panic!("so is this}"),
|
||||
_ => panic!("}so is that{"),
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
missing();
|
||||
ok_sigle();
|
||||
ok_single();
|
||||
ok_multiple();
|
||||
ok_bracket();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue