]>
Commit | Line | Data |
---|---|---|
f9f354fc XL |
1 | use crate::clauses::ClauseBuilder; |
2 | use crate::{Interner, RustIrDatabase, TraitRef}; | |
5869c6ff | 3 | use chalk_ir::{CanonicalVarKinds, Floundered, TyKind}; |
f9f354fc XL |
4 | |
5 | use super::copy::add_copy_program_clauses; | |
6 | ||
7 | pub fn add_clone_program_clauses<I: Interner>( | |
8 | db: &dyn RustIrDatabase<I>, | |
9 | builder: &mut ClauseBuilder<'_, I>, | |
5869c6ff XL |
10 | trait_ref: TraitRef<I>, |
11 | ty: TyKind<I>, | |
3dfed10e | 12 | binders: &CanonicalVarKinds<I>, |
5869c6ff | 13 | ) -> Result<(), Floundered> { |
f9f354fc | 14 | // Implement Clone for types that automaticly implement Copy |
5869c6ff | 15 | add_copy_program_clauses(db, builder, trait_ref, ty, binders) |
f9f354fc | 16 | } |