diff --git a/async-stream-impl/src/lib.rs b/async-stream-impl/src/lib.rs index 8b49a69..efec06b 100644 --- a/async-stream-impl/src/lib.rs +++ b/async-stream-impl/src/lib.rs @@ -114,6 +114,8 @@ impl VisitMut for Scrub<'_> { syn::Expr::Yield(yield_expr) => { self.has_yielded = true; + syn::visit_mut::visit_expr_yield_mut(self, yield_expr); + let value_expr = yield_expr.expr.as_ref().unwrap_or(&self.unit); // let ident = &self.yielder; diff --git a/async-stream/tests/try_stream.rs b/async-stream/tests/try_stream.rs index 063e37a..06dcc3d 100644 --- a/async-stream/tests/try_stream.rs +++ b/async-stream/tests/try_stream.rs @@ -78,3 +78,10 @@ async fn multi_try() { values ); } + +#[allow(unused)] +fn issue_65() -> impl Stream> { + try_stream! { + yield Err(())?; + } +}