if restr.loan_path != loan2.loan_path { continue; }
let old_pronoun = if new_loan.loan_path == old_loan.loan_path {
- ~"it"
+ "it".to_owned()
} else {
format!("`{}`",
self.bccx.loan_path_to_str(old_loan.loan_path))
pub fn check_assignment(&self, expr: &ast::Expr) {
// We don't use cat_expr() here because we don't want to treat
// auto-ref'd parameters in overloaded operators as rvalues.
- let adj = {
- let adjustments = self.bccx.tcx.adjustments.borrow();
- adjustments.get().find_copy(&expr.id)
- };
- let cmt = match adj {
+ let cmt = match self.bccx.tcx.adjustments.borrow().find_copy(&expr.id) {
None => self.bccx.cat_expr_unadjusted(expr),
Some(adj) => self.bccx.cat_expr_autoderefd(expr, adj)
};
cmt.repr(this.tcx()));
match cmt.cat {
mc::cat_local(id) | mc::cat_arg(id) => {
- let mut used_mut_nodes = this.tcx()
- .used_mut_nodes
- .borrow_mut();
- used_mut_nodes.get().insert(id);
+ this.tcx().used_mut_nodes.borrow_mut().insert(id);
return;
}
fn check_captured_variables(&self,
closure_id: ast::NodeId,
span: Span) {
- for cap_var in self.bccx.capture_map.get(&closure_id).deref().iter() {
+ for cap_var in self.bccx.capture_map.get(&closure_id).iter() {
let var_id = ast_util::def_id_of_def(cap_var.def).node;
let var_path = @LpVar(var_id);
self.check_if_path_is_moved(closure_id, span,
this.check_call(expr, None, expr.span, args.as_slice());
}
ast::ExprIndex(_, rval) | ast::ExprBinary(_, _, rval)
- if method_map.get().contains_key(&MethodCall::expr(expr.id)) => {
+ if method_map.contains_key(&MethodCall::expr(expr.id)) => {
this.check_call(expr, None, expr.span, [rval]);
}
ast::ExprUnary(_, _) | ast::ExprIndex(_, _)
- if method_map.get().contains_key(&MethodCall::expr(expr.id)) => {
+ if method_map.contains_key(&MethodCall::expr(expr.id)) => {
this.check_call(expr, None, expr.span, []);
}
ast::ExprInlineAsm(ref ia) => {