diff --git a/eden/mononoke/walker/src/tail.rs b/eden/mononoke/walker/src/tail.rs index 9a22f5cf17..469cfb5fd9 100644 --- a/eden/mononoke/walker/src/tail.rs +++ b/eden/mononoke/walker/src/tail.rs @@ -253,7 +253,8 @@ where // Walk needs clonable visitor, so wrap in Arc for its duration let arc_v = Arc::new(visitor); - let walk_output = walk_exact(ctx, arc_v.clone(), job_params, repo_params, type_params); + let walk_output = + walk_exact(ctx, arc_v.clone(), job_params, repo_params, type_params).boxed(); make_sink(walk_output).await?; visitor = Arc::try_unwrap(arc_v).map_err(|_| anyhow!("could not unwrap visitor"))?; diff --git a/eden/mononoke/walker/src/walk.rs b/eden/mononoke/walker/src/walk.rs index 6c0e0ca159..c8cd6f5a24 100644 --- a/eden/mononoke/walker/src/walk.rs +++ b/eden/mononoke/walker/src/walk.rs @@ -34,7 +34,7 @@ use filestore::{self, Alias}; use fsnodes::RootFsnodeId; use futures::{ future::{self, FutureExt, TryFutureExt}, - stream::{BoxStream, StreamExt, TryStreamExt}, + stream::{Stream, TryStreamExt}, }; use itertools::{Either, Itertools}; use manifest::{Entry, Manifest}; @@ -1598,7 +1598,7 @@ pub fn walk_exact( job_params: JobWalkParams, repo_params: RepoWalkParams, type_params: RepoWalkTypeParams, -) -> BoxStream<'static, Result> +) -> impl Stream> where V: 'static + Clone + WalkVisitor + Send + Sync, VOut: 'static + Send, @@ -1704,12 +1704,10 @@ where let handle = tokio::task::spawn(next); handle.await? } - .boxed() } }) }) .try_flatten_stream() - .boxed() } async fn walk_one(