File tree 3 files changed +19
-7
lines changed
3 files changed +19
-7
lines changed Original file line number Diff line number Diff line change @@ -8623,11 +8623,15 @@ impl<'a> Parser<'a> {
8623
8623
/// Recover from `pub` keyword in places where it seems _reasonable_ but isn't valid.
8624
8624
fn eat_bad_pub ( & mut self ) {
8625
8625
if self . token . is_keyword ( keywords:: Pub ) {
8626
- self . bump ( ) ;
8627
- let mut err = self . diagnostic ( )
8628
- . struct_span_err ( self . prev_span , "unnecessary visibility qualifier" ) ;
8629
- err. span_label ( self . prev_span , "`pub` not permitted here" ) ;
8630
- err. emit ( ) ;
8626
+ match self . parse_visibility ( false ) {
8627
+ Ok ( vis) => {
8628
+ let mut err = self . diagnostic ( )
8629
+ . struct_span_err ( vis. span , "unnecessary visibility qualifier" ) ;
8630
+ err. span_label ( vis. span , "`pub` not permitted here" ) ;
8631
+ err. emit ( ) ;
8632
+ }
8633
+ Err ( mut err) => err. emit ( ) ,
8634
+ }
8631
8635
}
8632
8636
}
8633
8637
}
Original file line number Diff line number Diff line change 3
3
enum Bird {
4
4
pub Duck ,
5
5
//~^ ERROR unnecessary visibility qualifier
6
- Goose
6
+ Goose ,
7
+ pub ( crate ) Dove
8
+ //~^ ERROR unnecessary visibility qualifier
7
9
}
8
10
9
11
Original file line number Diff line number Diff line change @@ -4,5 +4,11 @@ error: unnecessary visibility qualifier
4
4
LL | pub Duck,
5
5
| ^^^ `pub` not permitted here
6
6
7
- error: aborting due to previous error
7
+ error: unnecessary visibility qualifier
8
+ --> $DIR/issue-28433.rs:7:5
9
+ |
10
+ LL | pub(crate) Dove
11
+ | ^^^^^^^^^^ `pub` not permitted here
12
+
13
+ error: aborting due to 2 previous errors
8
14
You can’t perform that action at this time.
0 commit comments