@@ -3,7 +3,7 @@ use diesel::associations::HasTable;
33use diesel:: query_builder:: IntoUpdateTarget ;
44use diesel:: result:: QueryResult ;
55use diesel:: AsChangeset ;
6- use futures :: { FutureExt , Stream , StreamExt , TryFutureExt , TryStreamExt } ;
6+ use futures_util :: { future , stream , FutureExt , Stream , StreamExt , TryFutureExt , TryStreamExt } ;
77use std:: pin:: Pin ;
88
99/// The traits used by `QueryDsl`.
@@ -19,7 +19,7 @@ pub mod methods {
1919 use diesel:: expression:: QueryMetadata ;
2020 use diesel:: query_builder:: { AsQuery , QueryFragment , QueryId } ;
2121 use diesel:: query_dsl:: CompatibleType ;
22- use futures :: { Future , Stream , TryFutureExt } ;
22+ use futures_util :: { Future , Stream , TryFutureExt } ;
2323
2424 /// The `execute` method
2525 ///
@@ -92,12 +92,12 @@ pub mod methods {
9292 DB : QueryMetadata < T :: SqlType > ,
9393 ST : ' static ,
9494 {
95- type LoadFuture < ' conn > = futures :: future:: MapOk <
95+ type LoadFuture < ' conn > = future:: MapOk <
9696 Conn :: LoadFuture < ' conn , ' query > ,
9797 fn ( Conn :: Stream < ' conn , ' query > ) -> Self :: Stream < ' conn > ,
9898 > where Conn : ' conn ;
9999
100- type Stream < ' conn > = futures :: stream:: Map <
100+ type Stream < ' conn > = stream:: Map <
101101 Conn :: Stream < ' conn , ' query > ,
102102 fn (
103103 QueryResult < Conn :: Row < ' conn , ' query > > ,
@@ -113,7 +113,7 @@ pub mod methods {
113113 #[ allow( clippy:: type_complexity) ]
114114 fn map_result_stream_future < ' s , ' a , U , S , R , DB , ST > (
115115 stream : S ,
116- ) -> futures :: stream:: Map < S , fn ( QueryResult < R > ) -> QueryResult < U > >
116+ ) -> stream:: Map < S , fn ( QueryResult < R > ) -> QueryResult < U > >
117117 where
118118 S : Stream < Item = QueryResult < R > > + Send + ' s ,
119119 R : diesel:: row:: Row < ' a , DB > + ' s ,
@@ -144,36 +144,35 @@ pub mod methods {
144144pub mod return_futures {
145145 use super :: methods:: LoadQuery ;
146146 use diesel:: QueryResult ;
147+ use futures_util:: { future, stream} ;
147148 use std:: pin:: Pin ;
148149
149150 /// The future returned by [`RunQueryDsl::load`](super::RunQueryDsl::load)
150151 /// and [`RunQueryDsl::get_results`](super::RunQueryDsl::get_results)
151152 ///
152153 /// This is essentially `impl Future<Output = QueryResult<Vec<U>>>`
153- pub type LoadFuture < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > =
154- futures:: future:: AndThen <
155- Q :: LoadFuture < ' conn > ,
156- futures:: stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
157- fn ( Q :: Stream < ' conn > ) -> futures:: stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
158- > ;
154+ pub type LoadFuture < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > = future:: AndThen <
155+ Q :: LoadFuture < ' conn > ,
156+ stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
157+ fn ( Q :: Stream < ' conn > ) -> stream:: TryCollect < Q :: Stream < ' conn > , Vec < U > > ,
158+ > ;
159159
160160 /// The future returned by [`RunQueryDsl::get_result`](super::RunQueryDsl::get_result)
161161 ///
162162 /// This is essentially `impl Future<Output = QueryResult<U>>`
163- pub type GetResult < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > =
164- futures:: future:: AndThen <
165- Q :: LoadFuture < ' conn > ,
166- futures:: future:: Map <
167- futures:: stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
168- fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
169- > ,
170- fn (
171- Q :: Stream < ' conn > ,
172- ) -> futures:: future:: Map <
173- futures:: stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
174- fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
175- > ,
176- > ;
163+ pub type GetResult < ' conn , ' query , Q : LoadQuery < ' query , Conn , U > , Conn , U > = future:: AndThen <
164+ Q :: LoadFuture < ' conn > ,
165+ future:: Map <
166+ stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
167+ fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
168+ > ,
169+ fn (
170+ Q :: Stream < ' conn > ,
171+ ) -> future:: Map <
172+ stream:: StreamFuture < Pin < Box < Q :: Stream < ' conn > > > > ,
173+ fn ( ( Option < QueryResult < U > > , Pin < Box < Q :: Stream < ' conn > > > ) ) -> QueryResult < U > ,
174+ > ,
175+ > ;
177176}
178177
179178/// Methods used to execute queries.
@@ -329,7 +328,7 @@ pub trait RunQueryDsl<Conn>: Sized {
329328 Conn : AsyncConnection ,
330329 Self : methods:: LoadQuery < ' query , Conn , U > + ' query ,
331330 {
332- fn collect_result < U , S > ( stream : S ) -> futures :: stream:: TryCollect < S , Vec < U > >
331+ fn collect_result < U , S > ( stream : S ) -> stream:: TryCollect < S , Vec < U > >
333332 where
334333 S : Stream < Item = QueryResult < U > > ,
335334 {
@@ -373,14 +372,14 @@ pub trait RunQueryDsl<Conn>: Sized {
373372 /// # async fn run_test() -> QueryResult<()> {
374373 /// # use diesel::insert_into;
375374 /// # use schema::users::dsl::*;
376- /// # use futures ::stream::TryStreamExt;
375+ /// # use futures_util ::stream::TryStreamExt;
377376 /// # let connection = &mut establish_connection().await;
378377 /// let data = users.select(name)
379378 /// .load_stream::<String>(connection)
380379 /// .await?
381380 /// .try_fold(Vec::new(), |mut acc, item| {
382381 /// acc.push(item);
383- /// futures ::future::ready(Ok(acc))
382+ /// futures_util ::future::ready(Ok(acc))
384383 /// })
385384 /// .await?;
386385 /// assert_eq!(vec!["Sean", "Tess"], data);
@@ -401,14 +400,14 @@ pub trait RunQueryDsl<Conn>: Sized {
401400 /// # async fn run_test() -> QueryResult<()> {
402401 /// # use diesel::insert_into;
403402 /// # use schema::users::dsl::*;
404- /// # use futures ::stream::TryStreamExt;
403+ /// # use futures_util ::stream::TryStreamExt;
405404 /// # let connection = &mut establish_connection().await;
406405 /// let data = users
407406 /// .load_stream::<(i32, String)>(connection)
408407 /// .await?
409408 /// .try_fold(Vec::new(), |mut acc, item| {
410409 /// acc.push(item);
411- /// futures ::future::ready(Ok(acc))
410+ /// futures_util ::future::ready(Ok(acc))
412411 /// })
413412 /// .await?;
414413 /// let expected_data = vec![
@@ -439,14 +438,14 @@ pub trait RunQueryDsl<Conn>: Sized {
439438 /// # async fn run_test() -> QueryResult<()> {
440439 /// # use diesel::insert_into;
441440 /// # use schema::users::dsl::*;
442- /// # use futures ::stream::TryStreamExt;
441+ /// # use futures_util ::stream::TryStreamExt;
443442 /// # let connection = &mut establish_connection().await;
444443 /// let data = users
445444 /// .load_stream::<User>(connection)
446445 /// .await?
447446 /// .try_fold(Vec::new(), |mut acc, item| {
448447 /// acc.push(item);
449- /// futures ::future::ready(Ok(acc))
448+ /// futures_util ::future::ready(Ok(acc))
450449 /// })
451450 /// .await?;
452451 /// let expected_data = vec![
@@ -526,8 +525,8 @@ pub trait RunQueryDsl<Conn>: Sized {
526525 #[ allow( clippy:: type_complexity) ]
527526 fn get_next_stream_element < S , U > (
528527 stream : S ,
529- ) -> futures :: future:: Map <
530- futures :: stream:: StreamFuture < Pin < Box < S > > > ,
528+ ) -> future:: Map <
529+ stream:: StreamFuture < Pin < Box < S > > > ,
531530 fn ( ( Option < QueryResult < U > > , Pin < Box < S > > ) ) -> QueryResult < U > ,
532531 >
533532 where
0 commit comments