Skip to content

Commit dd24f43

Browse files
committed
add Clone auto impls
1 parent 4a3577f commit dd24f43

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
@@ -23,8 +23,10 @@ pub fn add_builtin_program_clauses<I: Interner>(
2323

2424
match well_known {
2525
WellKnownTrait::SizedTrait => sized::add_sized_program_clauses(db, builder, trait_ref, ty),
26-
WellKnownTrait::CopyTrait => copy::add_copy_program_clauses(db, builder, trait_ref, ty),
27-
// Drop and Clone impls are provided explicitly
28-
WellKnownTrait::CloneTrait | WellKnownTrait::DropTrait => (),
26+
WellKnownTrait::CopyTrait | WellKnownTrait::CloneTrait => {
27+
copy::add_copy_clone_program_clauses(db, builder, trait_ref, ty)
28+
}
29+
// Drop impls are provided explicitly
30+
WellKnownTrait::DropTrait => (),
2931
}
3032
}

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)