Skip to content

Commit c1122c9

Browse files
committed
Auto merge of rust-lang#16862 - matthiaskrgr:noclone, r=Veykril
internal: remove redundant clone()s
2 parents 3d39ddf + 2a8edaa commit c1122c9

File tree

8 files changed

+17
-17
lines changed

8 files changed

+17
-17
lines changed

crates/hir-ty/src/method_resolution.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ pub fn iterate_method_candidates_dyn(
966966
// the methods by autoderef order of *receiver types*, not *self
967967
// types*.
968968

969-
let mut table = InferenceTable::new(db, env.clone());
969+
let mut table = InferenceTable::new(db, env);
970970
let ty = table.instantiate_canonical(ty.clone());
971971
let deref_chain = autoderef_method_receiver(&mut table, ty);
972972

@@ -1044,7 +1044,7 @@ fn iterate_method_candidates_with_autoref(
10441044
let ref_muted = Canonical {
10451045
value: TyKind::Ref(Mutability::Mut, static_lifetime(), receiver_ty.value.clone())
10461046
.intern(Interner),
1047-
binders: receiver_ty.binders.clone(),
1047+
binders: receiver_ty.binders,
10481048
};
10491049

10501050
iterate_method_candidates_by_receiver(ref_muted, first_adjustment.with_autoref(Mutability::Mut))
@@ -1060,7 +1060,7 @@ fn iterate_method_candidates_by_receiver(
10601060
name: Option<&Name>,
10611061
mut callback: &mut dyn FnMut(ReceiverAdjustments, AssocItemId, bool) -> ControlFlow<()>,
10621062
) -> ControlFlow<()> {
1063-
let receiver_ty = table.instantiate_canonical(receiver_ty.clone());
1063+
let receiver_ty = table.instantiate_canonical(receiver_ty);
10641064
// We're looking for methods with *receiver* type receiver_ty. These could
10651065
// be found in any of the derefs of receiver_ty, so we have to go through
10661066
// that, including raw derefs.
@@ -1456,7 +1456,7 @@ fn is_valid_trait_method_candidate(
14561456
if let Some(receiver_ty) = receiver_ty {
14571457
check_that!(data.has_self_param());
14581458

1459-
let fn_subst = TyBuilder::subst_for_def(db, fn_id, Some(impl_subst.clone()))
1459+
let fn_subst = TyBuilder::subst_for_def(db, fn_id, Some(impl_subst))
14601460
.fill_with_inference_vars(table)
14611461
.build();
14621462

crates/hir-ty/src/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ fn infer_with_mismatches(content: &str, include_mismatches: bool) -> String {
298298
if let Some(syntax_ptr) = body_source_map.self_param_syntax() {
299299
let root = db.parse_or_expand(syntax_ptr.file_id);
300300
let node = syntax_ptr.map(|ptr| ptr.to_node(&root).syntax().clone());
301-
types.push((node.clone(), ty));
301+
types.push((node, ty));
302302
}
303303
}
304304

crates/hir/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,7 +1099,7 @@ impl Field {
10991099
VariantDef::Union(it) => it.id.into(),
11001100
VariantDef::Variant(it) => it.parent_enum(db).id.into(),
11011101
};
1102-
let mut generics = generics.map(|it| it.ty.clone());
1102+
let mut generics = generics.map(|it| it.ty);
11031103
let substs = TyBuilder::subst_for_def(db, def_id, None)
11041104
.fill(|x| match x {
11051105
ParamKind::Type => {
@@ -1440,7 +1440,7 @@ impl Adt {
14401440
/// the greatest API, FIXME find a better one.
14411441
pub fn ty_with_args(self, db: &dyn HirDatabase, args: impl Iterator<Item = Type>) -> Type {
14421442
let id = AdtId::from(self);
1443-
let mut it = args.map(|t| t.ty.clone());
1443+
let mut it = args.map(|t| t.ty);
14441444
let ty = TyBuilder::def_ty(db, id.into(), None)
14451445
.fill(|x| {
14461446
let r = it.next().unwrap_or_else(|| TyKind::Error.intern(Interner));
@@ -1859,7 +1859,7 @@ impl Function {
18591859
ItemContainerId::TraitId(it) => Some(it.into()),
18601860
ItemContainerId::ModuleId(_) | ItemContainerId::ExternBlockId(_) => None,
18611861
};
1862-
let mut generics = generics.map(|it| it.ty.clone());
1862+
let mut generics = generics.map(|it| it.ty);
18631863
let mut filler = |x: &_| match x {
18641864
ParamKind::Type => {
18651865
generics.next().unwrap_or_else(|| TyKind::Error.intern(Interner)).cast(Interner)
@@ -1954,7 +1954,7 @@ impl Function {
19541954
ItemContainerId::TraitId(it) => Some(it.into()),
19551955
ItemContainerId::ModuleId(_) | ItemContainerId::ExternBlockId(_) => None,
19561956
};
1957-
let mut generics = generics.map(|it| it.ty.clone());
1957+
let mut generics = generics.map(|it| it.ty);
19581958
let parent_substs = parent_id.map(|id| {
19591959
TyBuilder::subst_for_def(db, id, None)
19601960
.fill(|x| match x {
@@ -2215,7 +2215,7 @@ impl SelfParam {
22152215
}
22162216
};
22172217

2218-
let mut generics = generics.map(|it| it.ty.clone());
2218+
let mut generics = generics.map(|it| it.ty);
22192219
let mut filler = |x: &_| match x {
22202220
ParamKind::Type => {
22212221
generics.next().unwrap_or_else(|| TyKind::Error.intern(Interner)).cast(Interner)

crates/hir/src/term_search/tactics.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ pub(super) fn type_constructor<'a, DB: HirDatabase>(
177177
// Note that we need special case for 0 param constructors because of multi cartesian
178178
// product
179179
let variant_exprs: Vec<Expr> = if param_exprs.is_empty() {
180-
vec![Expr::Variant { variant, generics: generics.clone(), params: Vec::new() }]
180+
vec![Expr::Variant { variant, generics, params: Vec::new() }]
181181
} else {
182182
param_exprs
183183
.into_iter()

crates/ide-completion/src/render.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ pub(crate) fn render_expr(
312312
None => ctx.source_range(),
313313
};
314314

315-
let mut item = CompletionItem::new(CompletionItemKind::Expression, source_range, label.clone());
315+
let mut item = CompletionItem::new(CompletionItemKind::Expression, source_range, label);
316316

317317
let snippet = format!(
318318
"{}$0",

crates/ide-diagnostics/src/handlers/remove_unnecessary_else.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pub(crate) fn remove_unnecessary_else(
3737
fn fixes(ctx: &DiagnosticsContext<'_>, d: &RemoveUnnecessaryElse) -> Option<Vec<Assist>> {
3838
let root = ctx.sema.db.parse_or_expand(d.if_expr.file_id);
3939
let if_expr = d.if_expr.value.to_node(&root);
40-
let if_expr = ctx.sema.original_ast_node(if_expr.clone())?;
40+
let if_expr = ctx.sema.original_ast_node(if_expr)?;
4141

4242
let mut indent = IndentLevel::from_node(if_expr.syntax());
4343
let has_parent_if_expr = if_expr.syntax().parent().and_then(ast::IfExpr::cast).is_some();

crates/ide-diagnostics/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,9 @@ pub fn diagnostics(
399399
.iter_mut()
400400
.filter_map(|it| {
401401
Some((
402-
it.main_node
403-
.map(|ptr| ptr.map(|node| node.to_node(&ctx.sema.parse_or_expand(ptr.file_id))))
404-
.clone()?,
402+
it.main_node.map(|ptr| {
403+
ptr.map(|node| node.to_node(&ctx.sema.parse_or_expand(ptr.file_id)))
404+
})?,
405405
it,
406406
))
407407
})

crates/rust-analyzer/src/cli/rustc_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ impl Tester {
7676
);
7777

7878
let workspace = ProjectWorkspace::DetachedFiles {
79-
files: vec![tmp_file.clone()],
79+
files: vec![tmp_file],
8080
sysroot,
8181
rustc_cfg: vec![],
8282
toolchain: None,

0 commit comments

Comments
 (0)