File tree Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -5385,11 +5385,16 @@ impl<'a> Parser<'a> {
53855385
53865386 fn parse_fn_args ( & mut self , named_args : bool , allow_variadic : bool )
53875387 -> PResult < ' a , ( Vec < Arg > , bool ) > {
5388+ self . expect ( & token:: OpenDelim ( token:: Paren ) ) ?;
5389+
5390+ if let Ok ( Some ( _) ) = self . parse_self_arg ( ) {
5391+ return Err ( self . fatal ( "unexpected `self` argument in bare function" ) )
5392+ }
5393+
53885394 let sp = self . span ;
53895395 let mut variadic = false ;
53905396 let args: Vec < Option < Arg > > =
5391- self . parse_unspanned_seq (
5392- & token:: OpenDelim ( token:: Paren ) ,
5397+ self . parse_seq_to_before_end (
53935398 & token:: CloseDelim ( token:: Paren ) ,
53945399 SeqSep :: trailing_allowed ( token:: Comma ) ,
53955400 |p| {
@@ -5436,6 +5441,8 @@ impl<'a> Parser<'a> {
54365441 }
54375442 ) ?;
54385443
5444+ self . eat ( & token:: CloseDelim ( token:: Paren ) ) ;
5445+
54395446 let args: Vec < _ > = args. into_iter ( ) . filter_map ( |x| x) . collect ( ) ;
54405447
54415448 if variadic && args. is_empty ( ) {
Original file line number Diff line number Diff line change 1+ error: unexpected `self` argument in bare function
2+ --> $DIR/bare-function-self.rs:12:11
3+ |
4+ LL | fn a(&self) { }
5+ | ^
6+
7+ error: aborting due to previous error
8+
You can’t perform that action at this time.
0 commit comments