@@ -34,7 +34,7 @@ impl<'a> TokenTreesReader<'a> {
3434 let mut buf = Vec :: new ( ) ;
3535 loop {
3636 match self . token . kind {
37- token:: OpenDelim ( delim) => buf. push ( self . parse_token_tree_open_delim ( delim) ) ,
37+ token:: OpenDelim ( delim) => buf. push ( self . parse_token_tree_open_delim ( delim) ? ) ,
3838 token:: CloseDelim ( delim) => {
3939 return if is_delimited {
4040 Ok ( TokenStream :: new ( buf) )
@@ -43,10 +43,11 @@ impl<'a> TokenTreesReader<'a> {
4343 } ;
4444 }
4545 token:: Eof => {
46- if is_delimited {
47- self . eof_err ( ) . emit ( ) ;
48- }
49- return Ok ( TokenStream :: new ( buf) ) ;
46+ return if is_delimited {
47+ Err ( self . eof_err ( ) )
48+ } else {
49+ Ok ( TokenStream :: new ( buf) )
50+ } ;
5051 }
5152 _ => {
5253 // Get the next normal token. This might require getting multiple adjacent
@@ -98,7 +99,7 @@ impl<'a> TokenTreesReader<'a> {
9899 err
99100 }
100101
101- fn parse_token_tree_open_delim ( & mut self , open_delim : Delimiter ) -> TokenTree {
102+ fn parse_token_tree_open_delim ( & mut self , open_delim : Delimiter ) -> PResult < ' a , TokenTree > {
102103 // The span for beginning of the delimited section
103104 let pre_span = self . token . span ;
104105
@@ -107,7 +108,7 @@ impl<'a> TokenTreesReader<'a> {
107108 // Parse the token trees within the delimiters.
108109 // We stop at any delimiter so we can try to recover if the user
109110 // uses an incorrect delimiter.
110- let tts = self . parse_token_trees ( /* is_delimited */ true ) . unwrap ( ) ;
111+ let tts = self . parse_token_trees ( /* is_delimited */ true ) ? ;
111112
112113 // Expand to cover the entire delimited token tree
113114 let delim_span = DelimSpan :: from_pair ( pre_span, self . token . span ) ;
@@ -190,7 +191,7 @@ impl<'a> TokenTreesReader<'a> {
190191 _ => unreachable ! ( ) ,
191192 }
192193
193- TokenTree :: Delimited ( delim_span, open_delim, tts)
194+ Ok ( TokenTree :: Delimited ( delim_span, open_delim, tts) )
194195 }
195196
196197 fn close_delim_err ( & mut self , delim : Delimiter ) -> PErr < ' a > {
0 commit comments