Remove parentheses when inverting !(cond)

This commit is contained in:
Jesse Bakker
2020-12-21 17:37:38 +01:00
parent 9bb9fbab3a
commit 2e7abf8384
2 changed files with 16 additions and 1 deletions

View File

@@ -232,7 +232,13 @@ fn invert_special_case(expr: &ast::Expr) -> Option<ast::Expr> {
};
Some(make::expr_method_call(receiver, method, arg_list))
}
ast::Expr::PrefixExpr(pe) if pe.op_kind()? == ast::PrefixOp::Not => pe.expr(),
ast::Expr::PrefixExpr(pe) if pe.op_kind()? == ast::PrefixOp::Not => {
if let ast::Expr::ParenExpr(parexpr) = pe.expr()? {
parexpr.expr()
} else {
pe.expr()
}
}
// FIXME:
// ast::Expr::Literal(true | false )
_ => None,