special case removing & suggestion

This commit is contained in:
Ezra Shaw 2023-01-18 13:14:56 +13:00
parent ca1178f022
commit b73cdf1b29
No known key found for this signature in database
GPG key ID: 17CD5C2ADAE0D344
4 changed files with 45 additions and 12 deletions

View file

@ -1787,6 +1787,14 @@ impl Expr<'_> {
expr
}
pub fn peel_borrows(&self) -> &Self {
let mut expr = self;
while let ExprKind::AddrOf(.., inner) = &expr.kind {
expr = inner;
}
expr
}
pub fn can_have_side_effects(&self) -> bool {
match self.peel_drop_temps().kind {
ExprKind::Path(_) | ExprKind::Lit(_) => false,