mir::BorrowKind::Mut { .. } => "mut ",
};
let region = self.region.to_string();
- let region = if region.len() > 0 {
- format!("{} ", region)
+ let separator = if !region.is_empty() {
+ " "
} else {
- region
+ ""
};
- write!(w, "&{}{}{:?}", region, kind, self.borrowed_place)
+ write!(w, "&{}{}{}{:?}", region, separator, kind, self.borrowed_place)
}
}
fn report_local_value_does_not_live_long_enough(
&mut self,
context: Context,
- name: &String,
+ name: &str,
scope_tree: &Lrc<ScopeTree>,
borrow: &BorrowData<'tcx>,
drop_span: Span,
Place::Static(ref static_) => self.describe_field_from_ty(&static_.ty, field),
Place::Projection(ref proj) => match proj.elem {
ProjectionElem::Deref => self.describe_field(&proj.base, field),
- ProjectionElem::Downcast(def, variant_index) => format!(
- "{}",
- def.variants[variant_index].fields[field.index()].ident
- ),
+ ProjectionElem::Downcast(def, variant_index) =>
+ def.variants[variant_index].fields[field.index()].ident.to_string(),
ProjectionElem::Field(_, field_type) => {
self.describe_field_from_ty(&field_type, field)
}
ty::RegionKind::RePlaceholder(ty::Placeholder { name: br, .. }),
_,
_,
- ) => with_highlight_region_for_bound_region(*br, counter, || format!("{}", ty)),
- _ => format!("{}", ty),
+ ) => with_highlight_region_for_bound_region(*br, counter, || ty.to_string()),
+ _ => ty.to_string(),
}
}
ty::TyKind::Ref(region, _, _) => match region {
ty::RegionKind::ReLateBound(_, br)
| ty::RegionKind::RePlaceholder(ty::Placeholder { name: br, .. }) => {
- with_highlight_region_for_bound_region(*br, counter, || format!("{}", region))
+ with_highlight_region_for_bound_region(*br, counter, || region.to_string())
}
- _ => format!("{}", region),
+ _ => region.to_string(),
},
_ => bug!("ty for annotation of borrow region is not a reference"),
}
_ => {
let source = self.borrowed_content_source(place);
self.infcx.tcx.cannot_move_out_of(
- span, &format!("{}", source), origin
+ span, &source.to_string(), origin
)
},
}
let binding_span = bind_to.source_info.span;
if j == 0 {
- err.span_label(binding_span, format!("data moved here"));
+ err.span_label(binding_span, "data moved here");
} else {
- err.span_label(binding_span, format!("...and here"));
+ err.span_label(binding_span, "...and here");
}
if binds_to.len() == 1 {
);
let extra = if found {
- String::from("")
+ String::new()
} else {
format!(", but it is not implemented for `{}`",
substs.type_at(0))
let ty = &src[ws_pos..];
return (assignment_rhs_span, format!("&{} mut {}", lt_name, ty));
} else if src.starts_with('&') {
- let borrowed_expr = src[1..].to_string();
+ let borrowed_expr = &src[1..];
return (assignment_rhs_span, format!("&mut {}", borrowed_expr));
}
}