mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-11-01 12:24:29 +00:00
remove a couple of clones
This commit is contained in:
parent
6c9cf51c55
commit
573c47c9ba
32 changed files with 71 additions and 90 deletions
|
|
@ -515,7 +515,7 @@ fn receiver_is_dispatchable(
|
|||
trait_id: to_chalk_trait_id(trait_),
|
||||
substitution: Substitution::from_iter(
|
||||
Interner,
|
||||
std::iter::once(unsized_self_ty.clone().cast(Interner))
|
||||
std::iter::once(unsized_self_ty.cast(Interner))
|
||||
.chain(placeholder_subst.iter(Interner).skip(1).cloned()),
|
||||
),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ impl InferenceContext<'_> {
|
|||
let prev_diverges = mem::replace(&mut self.diverges, Diverges::Maybe);
|
||||
let prev_closure = mem::replace(&mut self.current_closure, id);
|
||||
let prev_ret_ty = mem::replace(&mut self.return_ty, body_ret_ty.clone());
|
||||
let prev_ret_coercion = self.return_coercion.replace(CoerceMany::new(body_ret_ty.clone()));
|
||||
let prev_ret_coercion = self.return_coercion.replace(CoerceMany::new(body_ret_ty));
|
||||
let prev_resume_yield_tys = mem::replace(&mut self.resume_yield_tys, resume_yield_tys);
|
||||
|
||||
self.with_breakable_ctx(BreakableKind::Border, None, None, |this| {
|
||||
|
|
|
|||
|
|
@ -827,9 +827,9 @@ impl InferenceContext<'_> {
|
|||
}
|
||||
let assoc = self.resolve_ops_index_output();
|
||||
self.resolve_associated_type_with_params(
|
||||
self_ty.clone(),
|
||||
self_ty,
|
||||
assoc,
|
||||
&[index_ty.clone().cast(Interner)],
|
||||
&[index_ty.cast(Interner)],
|
||||
)
|
||||
} else {
|
||||
self.err_ty()
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ impl InferenceContext<'_> {
|
|||
decl: Option<DeclContext>,
|
||||
) -> Ty {
|
||||
let (expectation_type, expectation_lt) = match expected.as_reference() {
|
||||
Some((inner_ty, lifetime, _exp_mut)) => (inner_ty.clone(), lifetime.clone()),
|
||||
Some((inner_ty, lifetime, _exp_mut)) => (inner_ty.clone(), lifetime),
|
||||
None => {
|
||||
let inner_ty = self.table.new_type_var();
|
||||
let inner_lt = self.table.new_lifetime_var();
|
||||
|
|
@ -597,7 +597,7 @@ impl InferenceContext<'_> {
|
|||
let size = consteval::usize_const(self.db, Some(len as u128), self.owner.krate(self.db));
|
||||
|
||||
let elem_ty = self.table.new_type_var();
|
||||
let array_ty = TyKind::Array(elem_ty.clone(), size).intern(Interner);
|
||||
let array_ty = TyKind::Array(elem_ty, size).intern(Interner);
|
||||
Some(array_ty)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1029,7 +1029,7 @@ impl<'a> InferenceTable<'a> {
|
|||
};
|
||||
let sized_pred = WhereClause::Implemented(TraitRef {
|
||||
trait_id: to_chalk_trait_id(sized),
|
||||
substitution: Substitution::from1(Interner, ty.clone()),
|
||||
substitution: Substitution::from1(Interner, ty),
|
||||
});
|
||||
let goal = GoalData::DomainGoal(chalk_ir::DomainGoal::Holds(sized_pred)).intern(Interner);
|
||||
matches!(self.try_obligation(goal), Some(Solution::Unique(_)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue