@@ -891,7 +891,7 @@ impl<'a> Parser<'a> {
891891
892892 self . parse_seq_to_before_tokens ( kets,
893893 SeqSep :: none ( ) ,
894- |p| p. parse_token_tree ( ) ,
894+ |p| Ok ( p. parse_token_tree ( ) ) ,
895895 |mut e| handler. cancel ( & mut e) ) ;
896896 }
897897
@@ -1267,7 +1267,7 @@ impl<'a> Parser<'a> {
12671267 break ;
12681268 }
12691269 token:: OpenDelim ( token:: Brace ) => {
1270- self . parse_token_tree ( ) ? ;
1270+ self . parse_token_tree ( ) ;
12711271 break ;
12721272 }
12731273 _ => self . bump ( ) ,
@@ -2101,10 +2101,10 @@ impl<'a> Parser<'a> {
21012101
21022102 fn expect_delimited_token_tree ( & mut self ) -> PResult < ' a , ( token:: DelimToken , ThinTokenStream ) > {
21032103 match self . token {
2104- token:: OpenDelim ( delim) => self . parse_token_tree ( ) . map ( |tree| match tree {
2105- TokenTree :: Delimited ( _, delimited) => ( delim, delimited. stream ( ) . into ( ) ) ,
2104+ token:: OpenDelim ( delim) => match self . parse_token_tree ( ) {
2105+ TokenTree :: Delimited ( _, delimited) => Ok ( ( delim, delimited. stream ( ) . into ( ) ) ) ,
21062106 _ => unreachable ! ( ) ,
2107- } ) ,
2107+ } ,
21082108 _ => Err ( self . fatal ( "expected open delimiter" ) ) ,
21092109 }
21102110 }
@@ -2643,24 +2643,23 @@ impl<'a> Parser<'a> {
26432643 }
26442644
26452645 /// parse a single token tree from the input.
2646- pub fn parse_token_tree ( & mut self ) -> PResult < ' a , TokenTree > {
2646+ pub fn parse_token_tree ( & mut self ) -> TokenTree {
26472647 match self . token {
26482648 token:: OpenDelim ( ..) => {
26492649 let frame = mem:: replace ( & mut self . token_cursor . frame ,
26502650 self . token_cursor . stack . pop ( ) . unwrap ( ) ) ;
26512651 self . span = frame. span ;
26522652 self . bump ( ) ;
2653- return Ok ( TokenTree :: Delimited ( frame. span , Delimited {
2653+ TokenTree :: Delimited ( frame. span , Delimited {
26542654 delim : frame. delim ,
26552655 tts : frame. tree_cursor . original_stream ( ) . into ( ) ,
2656- } ) ) ;
2656+ } )
26572657 } ,
26582658 token:: CloseDelim ( _) | token:: Eof => unreachable ! ( ) ,
26592659 _ => {
26602660 let token = mem:: replace ( & mut self . token , token:: Underscore ) ;
2661- let res = Ok ( TokenTree :: Token ( self . span , token) ) ;
26622661 self . bump ( ) ;
2663- res
2662+ TokenTree :: Token ( self . prev_span , token )
26642663 }
26652664 }
26662665 }
@@ -2670,7 +2669,7 @@ impl<'a> Parser<'a> {
26702669 pub fn parse_all_token_trees ( & mut self ) -> PResult < ' a , Vec < TokenTree > > {
26712670 let mut tts = Vec :: new ( ) ;
26722671 while self . token != token:: Eof {
2673- tts. push ( self . parse_token_tree ( ) ? ) ;
2672+ tts. push ( self . parse_token_tree ( ) ) ;
26742673 }
26752674 Ok ( tts)
26762675 }
0 commit comments