Skip bracketizing inside await macro
diff --git a/tests/test_precedence.rs b/tests/test_precedence.rs
index 41e1f12..cd0b041 100644
--- a/tests/test_precedence.rs
+++ b/tests/test_precedence.rs
@@ -216,16 +216,29 @@
     use rustc_data_structures::thin_vec::ThinVec;
     use smallvec::SmallVec;
     use std::mem;
-    use syntax::ast::{Expr, ExprKind, Field, Mac, Pat, Stmt, StmtKind, Ty};
+    use syntax::ast::{AwaitOrigin, Expr, ExprKind, Field, Mac, Pat, Stmt, StmtKind, Ty};
     use syntax::mut_visit::{self, MutVisitor};
     use syntax_pos::DUMMY_SP;
 
     struct BracketsVisitor {
         failed: bool,
     };
+
+    impl BracketsVisitor {
+        fn recurse_expr(&mut self, e: &mut Expr) {
+            match e.node {
+                ExprKind::Await(AwaitOrigin::MacroLike, _) => {
+                    // Syn sees await!() as macro and doesn't recurse inside, so
+                    // skip it here too.
+                }
+                _ => mut_visit::noop_visit_expr(e, self),
+            }
+        }
+    }
+
     impl MutVisitor for BracketsVisitor {
         fn visit_expr(&mut self, e: &mut P<Expr>) {
-            mut_visit::noop_visit_expr(e, self);
+            self.recurse_expr(e);
             match e.node {
                 ExprKind::If(..) | ExprKind::Block(..) | ExprKind::IfLet(..) => {}
                 _ => {
@@ -245,7 +258,7 @@
 
         fn visit_field(&mut self, f: &mut Field) {
             if f.is_shorthand {
-                mut_visit::noop_visit_expr(&mut f.expr, self);
+                self.recurse_expr(&mut f.expr);
             } else {
                 self.visit_expr(&mut f.expr);
             }
@@ -266,11 +279,11 @@
             let node = match stmt.node {
                 // Don't wrap toplevel expressions in statements.
                 StmtKind::Expr(mut e) => {
-                    mut_visit::noop_visit_expr(&mut e, self);
+                    self.recurse_expr(&mut e);
                     StmtKind::Expr(e)
                 }
                 StmtKind::Semi(mut e) => {
-                    mut_visit::noop_visit_expr(&mut e, self);
+                    self.recurse_expr(&mut e);
                     StmtKind::Semi(e)
                 }
                 s => s,