Skip to content

Commit 76953bc

Browse files
Uses futures-core APIs directly instead of futures-util re-exports
1 parent 2f3bb68 commit 76953bc

File tree

9 files changed

+22
-17
lines changed

9 files changed

+22
-17
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ description = "An async extension for Diesel the safe, extensible ORM and Query
1313
rust-version = "1.82.0"
1414

1515
[dependencies]
16+
futures-core = "0.3.17"
1617
futures-channel = { version = "0.3.17", default-features = false, features = [
1718
"std",
1819
"sink",

src/async_connection_wrapper.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
//! as replacement for the existing connection
1010
//! implementations provided by diesel
1111
12-
use futures_util::Stream;
12+
use futures_core::Stream;
1313
use futures_util::StreamExt;
1414
use std::future::Future;
1515
use std::pin::Pin;

src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,9 @@ use diesel::connection::{CacheSize, Instrumentation};
7878
use diesel::query_builder::{AsQuery, QueryFragment, QueryId};
7979
use diesel::row::Row;
8080
use diesel::{ConnectionResult, QueryResult};
81-
use futures_util::future::BoxFuture;
82-
use futures_util::{FutureExt, Stream};
81+
use futures_core::future::BoxFuture;
82+
use futures_core::Stream;
83+
use futures_util::FutureExt;
8384
use std::fmt::Debug;
8485
use std::future::Future;
8586

src/mysql/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ use diesel::query_builder::QueryBuilder;
1111
use diesel::query_builder::{bind_collector::RawBytesBindCollector, QueryFragment, QueryId};
1212
use diesel::result::{ConnectionError, ConnectionResult};
1313
use diesel::QueryResult;
14-
use futures_util::future::BoxFuture;
15-
use futures_util::stream::{self, BoxStream};
14+
use futures_core::future::BoxFuture;
15+
use futures_core::stream::BoxStream;
16+
use futures_util::stream;
1617
use futures_util::{FutureExt, StreamExt, TryStreamExt};
1718
use mysql_async::prelude::Queryable;
1819
use mysql_async::{Opts, OptsBuilder, Statement};

src/pg/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ use diesel::query_builder::bind_collector::RawBytesBindCollector;
2222
use diesel::query_builder::{AsQuery, QueryBuilder, QueryFragment, QueryId};
2323
use diesel::result::{DatabaseErrorKind, Error};
2424
use diesel::{ConnectionError, ConnectionResult, QueryResult};
25-
use futures_util::future::BoxFuture;
25+
use futures_core::future::BoxFuture;
26+
use futures_core::stream::BoxStream;
2627
use futures_util::future::Either;
27-
use futures_util::stream::{BoxStream, TryStreamExt};
28+
use futures_util::stream::TryStreamExt;
2829
use futures_util::TryFutureExt;
2930
use futures_util::{FutureExt, StreamExt};
3031
use std::collections::{HashMap, HashSet};

src/pooled_connection/mod.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ use crate::{TransactionManager, UpdateAndFetchResults};
1010
use diesel::associations::HasTable;
1111
use diesel::connection::{CacheSize, Instrumentation};
1212
use diesel::QueryResult;
13-
use futures_util::future::BoxFuture;
14-
use futures_util::{future, FutureExt};
13+
use futures_core::future::BoxFuture;
14+
use futures_util::FutureExt;
1515
use std::borrow::Cow;
1616
use std::fmt;
1717
use std::future::Future;
@@ -47,11 +47,10 @@ impl std::error::Error for PoolError {}
4747

4848
/// Type of the custom setup closure passed to [`ManagerConfig::custom_setup`]
4949
pub type SetupCallback<C> =
50-
Box<dyn Fn(&str) -> future::BoxFuture<diesel::ConnectionResult<C>> + Send + Sync>;
50+
Box<dyn Fn(&str) -> BoxFuture<diesel::ConnectionResult<C>> + Send + Sync>;
5151

5252
/// Type of the recycle check callback for the [`RecyclingMethod::CustomFunction`] variant
53-
pub type RecycleCheckCallback<C> =
54-
dyn Fn(&mut C) -> future::BoxFuture<QueryResult<()>> + Send + Sync;
53+
pub type RecycleCheckCallback<C> = dyn Fn(&mut C) -> BoxFuture<QueryResult<()>> + Send + Sync;
5554

5655
/// Possible methods of how a connection is recycled.
5756
#[derive(Default)]

src/run_query_dsl/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ use diesel::associations::HasTable;
33
use diesel::query_builder::IntoUpdateTarget;
44
use diesel::result::QueryResult;
55
use diesel::AsChangeset;
6-
use futures_util::future::BoxFuture;
7-
use futures_util::{future, stream, FutureExt, Stream, StreamExt, TryFutureExt, TryStreamExt};
6+
use futures_core::future::BoxFuture;
7+
use futures_core::Stream;
8+
use futures_util::{future, stream, FutureExt, StreamExt, TryFutureExt, TryStreamExt};
89
use std::future::Future;
910
use std::pin::Pin;
1011

src/stmt_cache.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
use diesel::connection::statement_cache::{MaybeCached, StatementCallbackReturnType};
22
use diesel::QueryResult;
3+
use futures_core::future::BoxFuture;
34
use futures_util::{future, FutureExt, TryFutureExt};
45
use std::future::Future;
56

67
pub(crate) struct CallbackHelper<F>(pub(crate) F);
78

89
type PrepareFuture<'a, C, S> = future::Either<
910
future::Ready<QueryResult<(MaybeCached<'a, S>, C)>>,
10-
future::BoxFuture<'a, QueryResult<(MaybeCached<'a, S>, C)>>,
11+
BoxFuture<'a, QueryResult<(MaybeCached<'a, S>, C)>>,
1112
>;
1213

1314
impl<S, F, C> StatementCallbackReturnType<S, C> for CallbackHelper<F>

src/sync_connection_wrapper/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
//!
77
//! * using a sync Connection implementation in async context
88
//! * using the same code base for async crates needing multiple backends
9-
use futures_util::future::BoxFuture;
9+
use futures_core::future::BoxFuture;
1010
use std::error::Error;
1111

1212
#[cfg(feature = "sqlite")]
@@ -100,7 +100,7 @@ mod implementation {
100100
};
101101
use diesel::row::IntoOwnedRow;
102102
use diesel::{ConnectionResult, QueryResult};
103-
use futures_util::stream::BoxStream;
103+
use futures_core::stream::BoxStream;
104104
use futures_util::{FutureExt, StreamExt, TryFutureExt};
105105
use std::marker::PhantomData;
106106
use std::sync::{Arc, Mutex};

0 commit comments

Comments
 (0)