@@ -38,16 +38,18 @@ impl<'a> AstValidator<'a> {
38
38
self . err_handler ( ) . span_err ( span, & format ! ( "invalid label name `{}`" , label. name) ) ;
39
39
}
40
40
if label. name . as_str ( ) == "'_" {
41
- self . session . add_lint (
42
- lint :: builtin :: LIFETIME_UNDERSCORE , id , span ,
43
- format ! ( "invalid label name `{}`" , label . name )
44
- ) ;
41
+ self . session . add_lint ( lint :: builtin :: LIFETIME_UNDERSCORE ,
42
+ id ,
43
+ span ,
44
+ format ! ( "invalid label name `{}`" , label . name ) ) ;
45
45
}
46
46
}
47
47
48
48
fn invalid_visibility ( & self , vis : & Visibility , span : Span , note : Option < & str > ) {
49
49
if vis != & Visibility :: Inherited {
50
- let mut err = struct_span_err ! ( self . session, span, E0449 ,
50
+ let mut err = struct_span_err ! ( self . session,
51
+ span,
52
+ E0449 ,
51
53
"unnecessary visibility qualifier" ) ;
52
54
if let Some ( note) = note {
53
55
err. span_note ( span, note) ;
@@ -71,20 +73,23 @@ impl<'a> AstValidator<'a> {
71
73
impl < ' a > Visitor for AstValidator < ' a > {
72
74
fn visit_lifetime ( & mut self , lt : & Lifetime ) {
73
75
if lt. name . as_str ( ) == "'_" {
74
- self . session . add_lint (
75
- lint :: builtin :: LIFETIME_UNDERSCORE , lt . id , lt. span ,
76
- format ! ( "invalid lifetime name `{}`" , lt. name )
77
- ) ;
76
+ self . session . add_lint ( lint :: builtin :: LIFETIME_UNDERSCORE ,
77
+ lt. id ,
78
+ lt. span ,
79
+ format ! ( "invalid lifetime name `{}`" , lt . name ) ) ;
78
80
}
79
81
80
82
visit:: walk_lifetime ( self , lt)
81
83
}
82
84
83
85
fn visit_expr ( & mut self , expr : & Expr ) {
84
86
match expr. node {
85
- ExprKind :: While ( _, _, Some ( ident) ) | ExprKind :: Loop ( _, Some ( ident) ) |
86
- ExprKind :: WhileLet ( _, _, _, Some ( ident) ) | ExprKind :: ForLoop ( _, _, _, Some ( ident) ) |
87
- ExprKind :: Break ( Some ( ident) ) | ExprKind :: Continue ( Some ( ident) ) => {
87
+ ExprKind :: While ( _, _, Some ( ident) ) |
88
+ ExprKind :: Loop ( _, Some ( ident) ) |
89
+ ExprKind :: WhileLet ( _, _, _, Some ( ident) ) |
90
+ ExprKind :: ForLoop ( _, _, _, Some ( ident) ) |
91
+ ExprKind :: Break ( Some ( ident) ) |
92
+ ExprKind :: Continue ( Some ( ident) ) => {
88
93
self . check_label ( ident. node , ident. span , expr. id ) ;
89
94
}
90
95
_ => { }
@@ -97,10 +102,13 @@ impl<'a> Visitor for AstValidator<'a> {
97
102
match ty. node {
98
103
TyKind :: BareFn ( ref bfty) => {
99
104
self . check_decl_no_pat ( & bfty. decl , |span, _| {
100
- let mut err = struct_span_err ! ( self . session, span, E0561 ,
101
- "patterns aren't allowed in function pointer types" ) ;
102
- err. span_note ( span, "this is a recent error, see \
103
- issue #35203 for more details") ;
105
+ let mut err = struct_span_err ! ( self . session,
106
+ span,
107
+ E0561 ,
108
+ "patterns aren't allowed in function pointer \
109
+ types") ;
110
+ err. span_note ( span,
111
+ "this is a recent error, see issue #35203 for more details" ) ;
104
112
err. emit ( ) ;
105
113
} ) ;
106
114
}
@@ -114,10 +122,10 @@ impl<'a> Visitor for AstValidator<'a> {
114
122
if path. global && path. segments . len ( ) > 0 {
115
123
let ident = path. segments [ 0 ] . identifier ;
116
124
if token:: Ident ( ident) . is_path_segment_keyword ( ) {
117
- self . session . add_lint (
118
- lint :: builtin :: SUPER_OR_SELF_IN_GLOBAL_PATH , id , path . span ,
119
- format ! ( "global paths cannot start with `{}`" , ident )
120
- ) ;
125
+ self . session . add_lint ( lint :: builtin :: SUPER_OR_SELF_IN_GLOBAL_PATH ,
126
+ id ,
127
+ path . span ,
128
+ format ! ( "global paths cannot start with `{}`" , ident ) ) ;
121
129
}
122
130
}
123
131
@@ -129,8 +137,8 @@ impl<'a> Visitor for AstValidator<'a> {
129
137
ItemKind :: Use ( ref view_path) => {
130
138
let path = view_path. node . path ( ) ;
131
139
if !path. segments . iter ( ) . all ( |segment| segment. parameters . is_empty ( ) ) {
132
- self . err_handler ( ) . span_err ( path . span , "type or lifetime parameters \
133
- in import path") ;
140
+ self . err_handler ( )
141
+ . span_err ( path . span , "type or lifetime parameters in import path") ;
134
142
}
135
143
}
136
144
ItemKind :: Impl ( _, _, _, Some ( ..) , _, ref impl_items) => {
@@ -140,15 +148,18 @@ impl<'a> Visitor for AstValidator<'a> {
140
148
}
141
149
}
142
150
ItemKind :: Impl ( _, _, _, None , _, _) => {
143
- self . invalid_visibility ( & item. vis , item. span , Some ( "place qualifiers on individual \
144
- impl items instead") ) ;
151
+ self . invalid_visibility ( & item. vis ,
152
+ item. span ,
153
+ Some ( "place qualifiers on individual impl items instead" ) ) ;
145
154
}
146
155
ItemKind :: DefaultImpl ( ..) => {
147
156
self . invalid_visibility ( & item. vis , item. span , None ) ;
148
157
}
149
158
ItemKind :: ForeignMod ( ..) => {
150
- self . invalid_visibility ( & item. vis , item. span , Some ( "place qualifiers on individual \
151
- foreign items instead") ) ;
159
+ self . invalid_visibility ( & item. vis ,
160
+ item. span ,
161
+ Some ( "place qualifiers on individual foreign items \
162
+ instead") ) ;
152
163
}
153
164
ItemKind :: Enum ( ref def, _) => {
154
165
for variant in & def. variants {
@@ -167,11 +178,14 @@ impl<'a> Visitor for AstValidator<'a> {
167
178
match fi. node {
168
179
ForeignItemKind :: Fn ( ref decl, _) => {
169
180
self . check_decl_no_pat ( decl, |span, is_recent| {
170
- let mut err = struct_span_err ! ( self . session, span, E0130 ,
171
- "patterns aren't allowed in foreign function declarations" ) ;
181
+ let mut err = struct_span_err ! ( self . session,
182
+ span,
183
+ E0130 ,
184
+ "patterns aren't allowed in foreign function \
185
+ declarations") ;
172
186
if is_recent {
173
- err. span_note ( span, "this is a recent error, see \
174
- issue #35203 for more details") ;
187
+ err. span_note ( span,
188
+ "this is a recent error, see issue #35203 for more details") ;
175
189
}
176
190
err. emit ( ) ;
177
191
} ) ;
@@ -182,16 +196,21 @@ impl<'a> Visitor for AstValidator<'a> {
182
196
visit:: walk_foreign_item ( self , fi)
183
197
}
184
198
185
- fn visit_variant_data ( & mut self , vdata : & VariantData , _: Ident ,
186
- _: & Generics , _: NodeId , span : Span ) {
199
+ fn visit_variant_data ( & mut self ,
200
+ vdata : & VariantData ,
201
+ _: Ident ,
202
+ _: & Generics ,
203
+ _: NodeId ,
204
+ span : Span ) {
187
205
if vdata. fields ( ) . is_empty ( ) {
188
206
if vdata. is_tuple ( ) {
189
- self . err_handler ( ) . struct_span_err ( span, "empty tuple structs and enum variants \
190
- are not allowed, use unit structs and \
191
- enum variants instead")
192
- . span_help ( span, "remove trailing `()` to make a unit \
193
- struct or unit enum variant")
194
- . emit ( ) ;
207
+ self . err_handler ( )
208
+ . struct_span_err ( span,
209
+ "empty tuple structs and enum variants are not allowed, use \
210
+ unit structs and enum variants instead")
211
+ . span_help ( span,
212
+ "remove trailing `()` to make a unit struct or unit enum variant" )
213
+ . emit ( ) ;
195
214
}
196
215
}
197
216
@@ -200,10 +219,10 @@ impl<'a> Visitor for AstValidator<'a> {
200
219
201
220
fn visit_vis ( & mut self , vis : & Visibility ) {
202
221
match * vis {
203
- Visibility :: Restricted { ref path, ..} => {
222
+ Visibility :: Restricted { ref path, .. } => {
204
223
if !path. segments . iter ( ) . all ( |segment| segment. parameters . is_empty ( ) ) {
205
- self . err_handler ( ) . span_err ( path . span , "type or lifetime parameters \
206
- in visibility path") ;
224
+ self . err_handler ( )
225
+ . span_err ( path . span , "type or lifetime parameters in visibility path") ;
207
226
}
208
227
}
209
228
_ => { }
0 commit comments