refactor(lib): Switch from pin-project to pin-project-lite (#2566)
Note the practical affects of this change: - Dependency count with --features full dropped from 65 to 55. - Time to compile after a clean dropped from 48s to 35s (on a pretty underpowered VM). Closes #2388
This commit is contained in:
@@ -11,7 +11,7 @@ use futures_channel::oneshot;
|
||||
use tokio::time::{Duration, Instant, Interval};
|
||||
|
||||
use super::client::Ver;
|
||||
use crate::common::{task, exec::Exec, Future, Pin, Poll, Unpin};
|
||||
use crate::common::{exec::Exec, task, Future, Pin, Poll, Unpin};
|
||||
|
||||
// FIXME: allow() required due to `impl Trait` leaking types to this lint
|
||||
#[allow(missing_debug_implementations)]
|
||||
@@ -714,16 +714,17 @@ impl Expiration {
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime")]
|
||||
#[pin_project::pin_project]
|
||||
struct IdleTask<T> {
|
||||
#[pin]
|
||||
interval: Interval,
|
||||
pool: WeakOpt<Mutex<PoolInner<T>>>,
|
||||
// This allows the IdleTask to be notified as soon as the entire
|
||||
// Pool is fully dropped, and shutdown. This channel is never sent on,
|
||||
// but Err(Canceled) will be received when the Pool is dropped.
|
||||
#[pin]
|
||||
pool_drop_notifier: oneshot::Receiver<crate::common::Never>,
|
||||
pin_project_lite::pin_project! {
|
||||
struct IdleTask<T> {
|
||||
#[pin]
|
||||
interval: Interval,
|
||||
pool: WeakOpt<Mutex<PoolInner<T>>>,
|
||||
// This allows the IdleTask to be notified as soon as the entire
|
||||
// Pool is fully dropped, and shutdown. This channel is never sent on,
|
||||
// but Err(Canceled) will be received when the Pool is dropped.
|
||||
#[pin]
|
||||
pool_drop_notifier: oneshot::Receiver<crate::common::Never>,
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime")]
|
||||
@@ -776,7 +777,7 @@ mod tests {
|
||||
use std::time::Duration;
|
||||
|
||||
use super::{Connecting, Key, Pool, Poolable, Reservation, WeakOpt};
|
||||
use crate::common::{task, exec::Exec, Future, Pin};
|
||||
use crate::common::{exec::Exec, task, Future, Pin};
|
||||
|
||||
/// Test unique reservations.
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
|
||||
Reference in New Issue
Block a user