@@ -26,7 +26,7 @@ use items::{format_impl, format_trait, rewrite_associated_impl_type, rewrite_ass
26
26
use lists:: { itemize_list, write_list, DefinitiveListTactic , ListFormatting , SeparatorTactic } ;
27
27
use macros:: { rewrite_macro, MacroPosition } ;
28
28
use rewrite:: { Rewrite , RewriteContext } ;
29
- use utils:: { self , mk_sp} ;
29
+ use utils:: { self , contains_skip , mk_sp} ;
30
30
31
31
fn is_use_item ( item : & ast:: Item ) -> bool {
32
32
match item. node {
@@ -79,11 +79,15 @@ impl<'a> FmtVisitor<'a> {
79
79
ast:: StmtKind :: Item ( ref item) => {
80
80
self . visit_item ( item) ;
81
81
}
82
- ast:: StmtKind :: Local ( ..) => {
83
- let rewrite = stmt. rewrite (
84
- & self . get_context ( ) ,
85
- Shape :: indented ( self . block_indent , self . config ) ,
86
- ) ;
82
+ ast:: StmtKind :: Local ( ref local) => {
83
+ let rewrite = if contains_skip ( & local. attrs ) {
84
+ None
85
+ } else {
86
+ stmt. rewrite (
87
+ & self . get_context ( ) ,
88
+ Shape :: indented ( self . block_indent , self . config ) ,
89
+ )
90
+ } ;
87
91
self . push_rewrite ( stmt. span , rewrite) ;
88
92
}
89
93
ast:: StmtKind :: Expr ( ref expr) => {
@@ -113,8 +117,12 @@ impl<'a> FmtVisitor<'a> {
113
117
self . push_rewrite ( span, rewrite)
114
118
}
115
119
ast:: StmtKind :: Mac ( ref mac) => {
116
- let ( ref mac, _macro_style, _) = * * mac;
117
- self . visit_mac ( mac, None , MacroPosition :: Statement ) ;
120
+ let ( ref mac, _macro_style, ref attrs) = * * mac;
121
+ if contains_skip ( attrs) {
122
+ self . push_rewrite ( mac. span , None ) ;
123
+ } else {
124
+ self . visit_mac ( mac, None , MacroPosition :: Statement ) ;
125
+ }
118
126
self . format_missing ( stmt. span . hi ) ;
119
127
}
120
128
}
0 commit comments