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