From 10f198fcd933937a01b9246919db19355866e257 Mon Sep 17 00:00:00 2001 From: topecongiro Date: Sat, 6 Jul 2019 10:11:17 +0900 Subject: [PATCH] Do not consider macro-origin await as chain item --- src/chains.rs | 6 ++++-- tests/source/async_fn.rs | 5 +++++ tests/target/async_fn.rs | 4 ++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/chains.rs b/src/chains.rs index 6cac55c6e86..1ca0ac582b7 100644 --- a/src/chains.rs +++ b/src/chains.rs @@ -168,7 +168,7 @@ impl ChainItemKind { let span = mk_sp(nested.span.hi(), field.span.hi()); (kind, span) } - ast::ExprKind::Await(_, ref nested) => { + ast::ExprKind::Await(ast::AwaitOrigin::FieldLike, ref nested) => { let span = mk_sp(nested.span.hi(), expr.span.hi()); (ChainItemKind::Await, span) } @@ -396,7 +396,9 @@ impl Chain { } ast::ExprKind::Field(ref subexpr, _) | ast::ExprKind::Try(ref subexpr) - | ast::ExprKind::Await(_, ref subexpr) => Some(Self::convert_try(subexpr, context)), + | ast::ExprKind::Await(ast::AwaitOrigin::FieldLike, ref subexpr) => { + Some(Self::convert_try(subexpr, context)) + } _ => None, } } diff --git a/tests/source/async_fn.rs b/tests/source/async_fn.rs index f6c5f5e1c9a..b4dc9fac5b2 100644 --- a/tests/source/async_fn.rs +++ b/tests/source/async_fn.rs @@ -19,3 +19,8 @@ async unsafe fn rust() { Ok(()) } } + +async fn await_macro() { + await ! ( + something)?; +} diff --git a/tests/target/async_fn.rs b/tests/target/async_fn.rs index 7992e63c080..82be8c76785 100644 --- a/tests/target/async_fn.rs +++ b/tests/target/async_fn.rs @@ -18,3 +18,7 @@ async unsafe fn rust() { Ok(()) } } + +async fn await_macro() { + await!(something)?; +}