Skip to content

Commit 33c42d2

Browse files
committed
add Clone auto impls
1 parent 68063a9 commit 33c42d2

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

chalk-solve/src/clauses/builtin_traits.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ pub fn add_builtin_program_clauses<I: Interner>(
2020

2121
match well_known {
2222
WellKnownTrait::SizedTrait => sized::add_sized_program_clauses(db, builder, trait_ref, ty),
23-
WellKnownTrait::CopyTrait => copy::add_copy_program_clauses(db, builder, trait_ref, ty),
24-
// Drop and Clone impls are provided explicitly
25-
WellKnownTrait::CloneTrait | WellKnownTrait::DropTrait => (),
23+
WellKnownTrait::CopyTrait | WellKnownTrait::CloneTrait => {
24+
copy::add_copy_clone_program_clauses(db, builder, trait_ref, ty)
25+
}
26+
// Drop impls are provided explicitly
27+
WellKnownTrait::DropTrait => (),
2628
}
2729
}

chalk-solve/src/clauses/builtin_traits/copy.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ use crate::clauses::ClauseBuilder;
22
use crate::{Interner, RustIrDatabase, TraitRef};
33
use chalk_ir::TyData;
44

5-
pub fn add_copy_program_clauses<I: Interner>(
5+
/// Copy and Clone have the same automatic implementations
6+
pub fn add_copy_clone_program_clauses<I: Interner>(
67
db: &dyn RustIrDatabase<I>,
78
builder: &mut ClauseBuilder<'_, I>,
89
trait_ref: &TraitRef<I>,

0 commit comments

Comments
 (0)