Skip to content

Commit 43e1fa0

Browse files
authored
feat: replace futures crate with futures-util (#6)
* feat: replace `futures` crate with `futures-util` * docs: use synchrony * style: format * chore: remove unused files * chore: flatten directory structure * chore: remove futures-util dependency for mutex
1 parent 669dc31 commit 43e1fa0

5 files changed

Lines changed: 9 additions & 37 deletions

File tree

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ all-features = true
1111
rustdoc-args = ["--cfg", "docsrs"]
1212

1313
[dependencies]
14-
futures = { version = "0.3.31", default-features = false, optional = true }
14+
futures-util = { version = "0.3.31", default-features = false, optional = true }
1515
event-listener = { version = "5.4.1", default-features = false, optional = true }
1616
local-event = { version = "0.1.1", default-features = false, optional = true }
1717
see = { version = "0.1.1", optional = true }
1818
slab = { version = "0.4.11", optional = true }
1919

2020
[features]
2121
watch = ["dep:see"]
22-
mutex = ["dep:futures", "dep:slab", "futures?/std"]
23-
waker_slot = ["dep:futures"]
22+
mutex = ["dep:slab"]
23+
waker_slot = ["dep:futures-util"]
2424
event = ["dep:event-listener", "dep:local-event"]
2525
bilock = ["waker_slot"]
2626

File renamed without changes.

src/mutex/mod.rs renamed to src/mutex.rs

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ macro_rules! impl_mutex {
9090
task::{Context, Poll},
9191
};
9292

93-
use futures::future::FusedFuture;
9493
use slab::Slab;
9594

9695
use super::*;
@@ -269,12 +268,6 @@ macro_rules! impl_mutex {
269268
}
270269
}
271270

272-
impl<T: ?Sized> FusedFuture for OwnedMutexLockFuture<T> {
273-
fn is_terminated(&self) -> bool {
274-
self.mutex.is_none()
275-
}
276-
}
277-
278271
impl<T: ?Sized> Future for OwnedMutexLockFuture<T> {
279272
type Output = OwnedMutexGuard<T>;
280273

@@ -389,12 +382,6 @@ macro_rules! impl_mutex {
389382
}
390383
}
391384

392-
impl<T: ?Sized> FusedFuture for MutexLockFuture<'_, T> {
393-
fn is_terminated(&self) -> bool {
394-
self.mutex.is_none()
395-
}
396-
}
397-
398385
impl<'a, T: ?Sized> Future for MutexLockFuture<'a, T> {
399386
type Output = MutexGuard<'a, T>;
400387

@@ -457,7 +444,7 @@ macro_rules! impl_mutex {
457444
///
458445
/// ```
459446
/// # futures::executor::block_on(async {
460-
/// use futures::lock::{Mutex, MutexGuard};
447+
#[doc = concat!("use synchrony::", stringify!($sync), "::mutex::{Mutex, MutexGuard};")]
461448
///
462449
/// let data = Mutex::new(Some("value".to_string()));
463450
/// {
@@ -529,7 +516,7 @@ macro_rules! impl_mutex {
529516
///
530517
/// ```
531518
/// # futures::executor::block_on(async {
532-
/// use futures::lock::{MappedMutexGuard, Mutex, MutexGuard};
519+
#[doc = concat!("use synchrony::", stringify!($sync), "::mutex::{MappedMutexGuard, Mutex, MutexGuard};")]
533520
///
534521
/// let data = Mutex::new(Some("value".to_string()));
535522
/// {

src/mutex/unsync.rs

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/waker_slot.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
//! A slot holds up to one waker for task wakeup.
22
//!
3-
//! `sync` version is just [`futures::task::AtomicWaker`]; unsync version is a
4-
//! hand-rolled singlethreaded version with similar API.
3+
//! `sync` version is just [`futures_util::task::AtomicWaker`]; unsync version
4+
//! is a hand-rolled singlethreaded version with similar API.
55
6-
/// Multithreaded `WakerSlot` based on [`futures::task::AtomicWaker`].
6+
/// Multithreaded `WakerSlot` based on [`futures_util::task::AtomicWaker`].
77
pub mod sync {
8-
pub use futures::task::AtomicWaker as WakerSlot;
8+
pub use futures_util::task::AtomicWaker as WakerSlot;
99

1010
impl crate::AssertMt for WakerSlot {}
1111
}

0 commit comments

Comments
 (0)