- Use(op) => Use(op.fold_with(folder)?),
- Repeat(op, len) => Repeat(op.fold_with(folder)?, len.fold_with(folder)?),
- ThreadLocalRef(did) => ThreadLocalRef(did.fold_with(folder)?),
- Ref(region, bk, place) => Ref(region.fold_with(folder)?, bk, place.fold_with(folder)?),
- AddressOf(mutability, place) => AddressOf(mutability, place.fold_with(folder)?),
- Len(place) => Len(place.fold_with(folder)?),
- Cast(kind, op, ty) => Cast(kind, op.fold_with(folder)?, ty.fold_with(folder)?),
- BinaryOp(op, box (rhs, lhs)) => {
- BinaryOp(op, Box::new((rhs.fold_with(folder)?, lhs.fold_with(folder)?)))
+ Use(op) => Use(op.try_fold_with(folder)?),
+ Repeat(op, len) => Repeat(op.try_fold_with(folder)?, len.try_fold_with(folder)?),
+ ThreadLocalRef(did) => ThreadLocalRef(did.try_fold_with(folder)?),
+ Ref(region, bk, place) => {
+ Ref(region.try_fold_with(folder)?, bk, place.try_fold_with(folder)?)