Moar linting: needless_borrow, let_unit_value, ...

* There are a few needless borrows that don't seem to be needed. I even did a quick assembly comparison and posted a q to stackoveflow on it. See [here](https://stackoverflow.com/questions/74910196/advantages-of-pass-by-ref-val-with-impl-intoiteratoritem-impl-asrefstr)
* removed several `let _ = ...` when they don't look necessary (even a few ones that were not suggested by clippy (?))
* there were a few `then(|| ctor{})` that clippy suggested to replace with `then_some(ctor{})` -- seems reasonable?
* some unneeded assignment+return - keep the code a bit leaner
* a few `writeln!` instead of `write!`, or even consolidate write!
* a nice optimization to use `ch.is_ascii_digit` instead of `ch.is_digit(10)`
This commit is contained in:
Yuri Astrakhan 2022-12-24 16:09:08 -05:00
parent 2872e05589
commit d3dbf9c194
15 changed files with 22 additions and 26 deletions

View file

@ -119,7 +119,7 @@ impl Expr {
fn binding_power(&self) -> (u8, u8) {
use ast::{ArithOp::*, BinaryOp::*, Expr::*, LogicOp::*};
let dps = match self {
match self {
// (0, 0) -- paren-like/nullary
// (0, N) -- prefix
// (N, 0) -- postfix
@ -170,9 +170,7 @@ impl Expr {
ArrayExpr(_) | TupleExpr(_) | Literal(_) | PathExpr(_) | ParenExpr(_) | IfExpr(_)
| WhileExpr(_) | ForExpr(_) | LoopExpr(_) | MatchExpr(_) | BlockExpr(_)
| RecordExpr(_) | UnderscoreExpr(_) => (0, 0),
};
dps
}
}
fn is_paren_like(&self) -> bool {