fixed #528
This commit is contained in:
parent
5402ef3d27
commit
a2ad0c6695
@ -92,7 +92,9 @@ impl LateLintPass for BlockInIfCondition {
|
||||
snippet_block(cx, then.span, "..")));
|
||||
}
|
||||
} else {
|
||||
if in_macro(cx, expr.span) || differing_macro_contexts(expr.span, block.stmts[0].span) {
|
||||
let span = block.expr.as_ref().map_or_else(|| block.stmts[0].span,
|
||||
|e| e.span);
|
||||
if in_macro(cx, span) || differing_macro_contexts(expr.span, span) {
|
||||
return;
|
||||
}
|
||||
// move block higher
|
||||
|
@ -3,17 +3,28 @@
|
||||
|
||||
#![deny(block_in_if_condition_expr)]
|
||||
#![deny(block_in_if_condition_stmt)]
|
||||
#![allow(unused)]
|
||||
#![allow(unused, let_and_return)]
|
||||
|
||||
|
||||
macro_rules! blocky {
|
||||
() => {{true}}
|
||||
}
|
||||
|
||||
macro_rules! blocky_too {
|
||||
() => {{
|
||||
let r = true;
|
||||
r
|
||||
}}
|
||||
}
|
||||
|
||||
fn macro_if() {
|
||||
if blocky!() {
|
||||
}
|
||||
|
||||
if blocky_too!() {
|
||||
}
|
||||
}
|
||||
|
||||
fn condition_has_block() -> i32 {
|
||||
|
||||
if { //~ERROR in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let'
|
||||
|
Loading…
Reference in New Issue
Block a user