diff --git a/compiler/rustc_parse/src/lexer/mod.rs b/compiler/rustc_parse/src/lexer/mod.rs index 5766d25bc86c..173a92fdbf75 100644 --- a/compiler/rustc_parse/src/lexer/mod.rs +++ b/compiler/rustc_parse/src/lexer/mod.rs @@ -115,7 +115,7 @@ pub(crate) fn lex_token_trees<'psess, 'src>( Err(errs) => { // We emit delimiter mismatch errors first, then emit the unclosing delimiter mismatch // because the delimiter mismatch is more likely to be the root cause of error - unmatched_closing_delims.extend(errs); + unmatched_closing_delims.push(errs); Err(unmatched_closing_delims) } } diff --git a/compiler/rustc_parse/src/lexer/tokentrees.rs b/compiler/rustc_parse/src/lexer/tokentrees.rs index bce298118b7a..757cd755bf65 100644 --- a/compiler/rustc_parse/src/lexer/tokentrees.rs +++ b/compiler/rustc_parse/src/lexer/tokentrees.rs @@ -14,7 +14,7 @@ impl<'psess, 'src> Lexer<'psess, 'src> { pub(super) fn lex_token_trees( &mut self, is_delimited: bool, - ) -> Result<(Spacing, TokenStream), Vec>> { + ) -> Result<(Spacing, TokenStream), Diag<'psess>> { // Move past the opening delimiter. let open_spacing = self.bump_minimal(); @@ -35,11 +35,11 @@ pub(super) fn lex_token_trees( return if is_delimited { Ok((open_spacing, TokenStream::new(buf))) } else { - Err(vec![self.close_delim_err(delim)]) + Err(self.close_delim_err(delim)) }; } else if self.token.kind == token::Eof { return if is_delimited { - Err(vec![self.eof_err()]) + Err(self.eof_err()) } else { Ok((open_spacing, TokenStream::new(buf))) }; @@ -54,7 +54,7 @@ pub(super) fn lex_token_trees( fn lex_token_tree_open_delim( &mut self, open_delim: Delimiter, - ) -> Result>> { + ) -> Result> { // The span for beginning of the delimited section. let pre_span = self.token.span;