diff --git a/linkerd/stack/Cargo.toml b/linkerd/stack/Cargo.toml index 7338bdfdf1..cbb1a51d0f 100644 --- a/linkerd/stack/Cargo.toml +++ b/linkerd/stack/Cargo.toml @@ -15,7 +15,7 @@ linkerd-error = { path = "../error" } parking_lot = "0.12" pin-project = "1" thiserror = "1" -tokio = { version = "1", features = ["time", "sync"] } +tokio = { version = "1", features = ["macros", "rt", "sync", "time"] } tokio-util = { version = "0.7" } tower = { version = "0.4", features = ["filter", "spawn-ready", "util"] } tracing = "0.1" diff --git a/linkerd/stack/src/watch.rs b/linkerd/stack/src/watch.rs index de9a044bb5..bb8aab4538 100644 --- a/linkerd/stack/src/watch.rs +++ b/linkerd/stack/src/watch.rs @@ -47,7 +47,7 @@ pub struct NewFromTuple { _marker: PhantomData P>, } -type SpawnFromTuple = NewSpawnWatch>; +type SpawnFromTuple = NewSpawnWatch>; // === impl NewSpawnWatch === @@ -167,13 +167,12 @@ impl NewWatchedFromTuple { } } -impl NewService for NewWatchedFromTuple +impl NewService for NewWatchedFromTuple where T: Clone, - N: NewService, - M: NewService

+ Send + 'static, + N: NewService, { - type Service = NewFromTuple; + type Service = NewFromTuple; fn new_service(&self, target: T) -> Self::Service { // Create a `NewService` that is used to process updates to the watched