@@ -2,6 +2,7 @@ use crate::any::value::AnyValueKind;
22use crate :: any:: { Any , AnyTypeInfoKind } ;
33use crate :: arguments:: Arguments ;
44use crate :: encode:: { Encode , IsNull } ;
5+ use crate :: encode_owned:: IntoEncode ;
56use crate :: error:: BoxDynError ;
67use crate :: types:: Type ;
78use std:: sync:: Arc ;
@@ -21,9 +22,9 @@ impl Arguments for AnyArguments {
2122
2223 fn add < ' t , T > ( & mut self , value : T ) -> Result < ( ) , BoxDynError >
2324 where
24- T : Encode < ' t , Self :: Database > + Type < Self :: Database > ,
25+ T : IntoEncode < Self :: Database > + Type < Self :: Database > ,
2526 {
26- let _: IsNull = value. encode ( & mut self . values ) ?;
27+ let _: IsNull = value. into_encode ( ) . encode ( & mut self . values ) ?;
2728 Ok ( ( ) )
2829 }
2930
@@ -39,24 +40,26 @@ impl AnyArguments {
3940 #[ doc( hidden) ]
4041 pub fn convert_into < ' a , A : Arguments > ( self ) -> Result < A , BoxDynError >
4142 where
42- Option < i32 > : Type < A :: Database > + Encode < ' a , A :: Database > ,
43- Option < bool > : Type < A :: Database > + Encode < ' a , A :: Database > ,
44- Option < i16 > : Type < A :: Database > + Encode < ' a , A :: Database > ,
45- Option < i32 > : Type < A :: Database > + Encode < ' a , A :: Database > ,
46- Option < i64 > : Type < A :: Database > + Encode < ' a , A :: Database > ,
47- Option < f32 > : Type < A :: Database > + Encode < ' a , A :: Database > ,
48- Option < f64 > : Type < A :: Database > + Encode < ' a , A :: Database > ,
49- Option < String > : Type < A :: Database > + Encode < ' a , A :: Database > ,
50- Option < Vec < u8 > > : Type < A :: Database > + Encode < ' a , A :: Database > ,
51- bool : Type < A :: Database > + Encode < ' a , A :: Database > ,
52- i16 : Type < A :: Database > + Encode < ' a , A :: Database > ,
53- i32 : Type < A :: Database > + Encode < ' a , A :: Database > ,
54- i64 : Type < A :: Database > + Encode < ' a , A :: Database > ,
55- f32 : Type < A :: Database > + Encode < ' a , A :: Database > ,
56- f64 : Type < A :: Database > + Encode < ' a , A :: Database > ,
57- Arc < String > : Type < A :: Database > + Encode < ' a , A :: Database > ,
58- Arc < str > : Type < A :: Database > + Encode < ' a , A :: Database > ,
59- Arc < Vec < u8 > > : Type < A :: Database > + Encode < ' a , A :: Database > ,
43+ Option < i32 > : IntoEncode < A :: Database > + Type < A :: Database > ,
44+ Option < bool > : IntoEncode < A :: Database > + Type < A :: Database > ,
45+ Option < i16 > : IntoEncode < A :: Database > + Type < A :: Database > ,
46+ Option < i32 > : IntoEncode < A :: Database > + Type < A :: Database > ,
47+ Option < i64 > : IntoEncode < A :: Database > + Type < A :: Database > ,
48+ Option < f32 > : IntoEncode < A :: Database > + Type < A :: Database > ,
49+ Option < f64 > : IntoEncode < A :: Database > + Type < A :: Database > ,
50+ Option < String > : IntoEncode < A :: Database > + Type < A :: Database > ,
51+ Option < Vec < u8 > > : IntoEncode < A :: Database > + Type < A :: Database > ,
52+ bool : IntoEncode < A :: Database > + Type < A :: Database > ,
53+ i16 : IntoEncode < A :: Database > + Type < A :: Database > ,
54+ i32 : IntoEncode < A :: Database > + Type < A :: Database > ,
55+ i64 : IntoEncode < A :: Database > + Type < A :: Database > ,
56+ f32 : IntoEncode < A :: Database > + Type < A :: Database > ,
57+ f64 : IntoEncode < A :: Database > + Type < A :: Database > ,
58+ String : IntoEncode < A :: Database > + Type < A :: Database > ,
59+ Vec < u8 > : IntoEncode < A :: Database > + Type < A :: Database > ,
60+ Arc < String > : IntoEncode < A :: Database > + Type < A :: Database > ,
61+ Arc < str > : IntoEncode < A :: Database > + Type < A :: Database > ,
62+ Arc < Vec < u8 > > : IntoEncode < A :: Database > + Type < A :: Database > ,
6063 {
6164 let mut out = A :: default ( ) ;
6265
0 commit comments