11use crate :: query:: RowStream ;
2- use crate :: types:: { ToSql , Type } ;
2+ use crate :: types:: { BorrowToSql , ToSql , Type } ;
33use crate :: { Client , Error , Row , Statement , ToStatement , Transaction } ;
44use async_trait:: async_trait;
55
@@ -18,10 +18,11 @@ pub trait GenericClient: private::Sealed {
1818 T : ?Sized + ToStatement + Sync + Send ;
1919
2020 /// Like `Client::execute_raw`.
21- async fn execute_raw < ' b , I , T > ( & self , statement : & T , params : I ) -> Result < u64 , Error >
21+ async fn execute_raw < P , I , T > ( & self , statement : & T , params : I ) -> Result < u64 , Error >
2222 where
2323 T : ?Sized + ToStatement + Sync + Send ,
24- I : IntoIterator < Item = & ' b dyn ToSql > + Sync + Send ,
24+ P : BorrowToSql ,
25+ I : IntoIterator < Item = P > + Sync + Send ,
2526 I :: IntoIter : ExactSizeIterator ;
2627
2728 /// Like `Client::query`.
@@ -48,10 +49,11 @@ pub trait GenericClient: private::Sealed {
4849 T : ?Sized + ToStatement + Sync + Send ;
4950
5051 /// Like `Client::query_raw`.
51- async fn query_raw < ' b , T , I > ( & self , statement : & T , params : I ) -> Result < RowStream , Error >
52+ async fn query_raw < T , P , I > ( & self , statement : & T , params : I ) -> Result < RowStream , Error >
5253 where
5354 T : ?Sized + ToStatement + Sync + Send ,
54- I : IntoIterator < Item = & ' b dyn ToSql > + Sync + Send ,
55+ P : BorrowToSql ,
56+ I : IntoIterator < Item = P > + Sync + Send ,
5557 I :: IntoIter : ExactSizeIterator ;
5658
5759 /// Like `Client::prepare`.
@@ -79,10 +81,11 @@ impl GenericClient for Client {
7981 self . execute ( query, params) . await
8082 }
8183
82- async fn execute_raw < ' b , I , T > ( & self , statement : & T , params : I ) -> Result < u64 , Error >
84+ async fn execute_raw < P , I , T > ( & self , statement : & T , params : I ) -> Result < u64 , Error >
8385 where
8486 T : ?Sized + ToStatement + Sync + Send ,
85- I : IntoIterator < Item = & ' b dyn ToSql > + Sync + Send ,
87+ P : BorrowToSql ,
88+ I : IntoIterator < Item = P > + Sync + Send ,
8689 I :: IntoIter : ExactSizeIterator ,
8790 {
8891 self . execute_raw ( statement, params) . await
@@ -117,10 +120,11 @@ impl GenericClient for Client {
117120 self . query_opt ( statement, params) . await
118121 }
119122
120- async fn query_raw < ' b , T , I > ( & self , statement : & T , params : I ) -> Result < RowStream , Error >
123+ async fn query_raw < T , P , I > ( & self , statement : & T , params : I ) -> Result < RowStream , Error >
121124 where
122125 T : ?Sized + ToStatement + Sync + Send ,
123- I : IntoIterator < Item = & ' b dyn ToSql > + Sync + Send ,
126+ P : BorrowToSql ,
127+ I : IntoIterator < Item = P > + Sync + Send ,
124128 I :: IntoIter : ExactSizeIterator ,
125129 {
126130 self . query_raw ( statement, params) . await
@@ -155,10 +159,11 @@ impl GenericClient for Transaction<'_> {
155159 self . execute ( query, params) . await
156160 }
157161
158- async fn execute_raw < ' b , I , T > ( & self , statement : & T , params : I ) -> Result < u64 , Error >
162+ async fn execute_raw < P , I , T > ( & self , statement : & T , params : I ) -> Result < u64 , Error >
159163 where
160164 T : ?Sized + ToStatement + Sync + Send ,
161- I : IntoIterator < Item = & ' b dyn ToSql > + Sync + Send ,
165+ P : BorrowToSql ,
166+ I : IntoIterator < Item = P > + Sync + Send ,
162167 I :: IntoIter : ExactSizeIterator ,
163168 {
164169 self . execute_raw ( statement, params) . await
@@ -193,10 +198,11 @@ impl GenericClient for Transaction<'_> {
193198 self . query_opt ( statement, params) . await
194199 }
195200
196- async fn query_raw < ' b , T , I > ( & self , statement : & T , params : I ) -> Result < RowStream , Error >
201+ async fn query_raw < T , P , I > ( & self , statement : & T , params : I ) -> Result < RowStream , Error >
197202 where
198203 T : ?Sized + ToStatement + Sync + Send ,
199- I : IntoIterator < Item = & ' b dyn ToSql > + Sync + Send ,
204+ P : BorrowToSql ,
205+ I : IntoIterator < Item = P > + Sync + Send ,
200206 I :: IntoIter : ExactSizeIterator ,
201207 {
202208 self . query_raw ( statement, params) . await
0 commit comments