ExprKind::Call {
ty: method.ty,
fun: self.arena.alloc(method),
- args: &*self
+ args: self
.arena
.alloc_from_iter(vec![self.mirror_expr_inner(fun), tupled_args]),
from_hir_call: true,
adt_def,
substs,
variant_index: index,
- fields: &*field_refs,
+ fields: field_refs,
user_ty,
base: None,
}
if self.typeck_results().is_method_call(expr) {
let lhs = self.mirror_expr_inner(lhs);
let rhs = self.mirror_expr_inner(rhs);
- self.overloaded_operator(expr, &*self.arena.alloc_from_iter(vec![lhs, rhs]))
+ self.overloaded_operator(expr, self.arena.alloc_from_iter(vec![lhs, rhs]))
} else {
ExprKind::AssignOp {
op: bin_op(op.node),
if self.typeck_results().is_method_call(expr) {
let lhs = self.mirror_expr_inner(lhs);
let rhs = self.mirror_expr_inner(rhs);
- self.overloaded_operator(expr, &*self.arena.alloc_from_iter(vec![lhs, rhs]))
+ self.overloaded_operator(expr, self.arena.alloc_from_iter(vec![lhs, rhs]))
} else {
// FIXME overflow
match op.node {
expr,
expr_ty,
None,
- &*self.arena.alloc_from_iter(vec![lhs, index]),
+ self.arena.alloc_from_iter(vec![lhs, index]),
expr.span,
)
} else {
expr,
expr_ty,
None,
- &*self.arena.alloc_from_iter(iter::once(arg)),
+ self.arena.alloc_from_iter(iter::once(arg)),
expr.span,
)
} else {
hir::ExprKind::Unary(hir::UnOp::Not, ref arg) => {
if self.typeck_results().is_method_call(expr) {
let arg = self.mirror_expr_inner(arg);
- self.overloaded_operator(expr, &*self.arena.alloc_from_iter(iter::once(arg)))
+ self.overloaded_operator(expr, self.arena.alloc_from_iter(iter::once(arg)))
} else {
ExprKind::Unary { op: UnOp::Not, arg: self.mirror_expr(arg) }
}
hir::ExprKind::Unary(hir::UnOp::Neg, ref arg) => {
if self.typeck_results().is_method_call(expr) {
let arg = self.mirror_expr_inner(arg);
- self.overloaded_operator(expr, &*self.arena.alloc_from_iter(iter::once(arg)))
+ self.overloaded_operator(expr, self.arena.alloc_from_iter(iter::once(arg)))
} else if let hir::ExprKind::Lit(ref lit) = arg.kind {
ExprKind::Literal {
literal: self.const_eval_literal(&lit.node, expr_ty, lit.span, true),