From: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>

Generic parameter parsing failed when an outer attribute was used on it.

gcc/rust/ChangeLog:

        * parse/rust-parse-impl.h (Parser::parse_generic_param): Change token
        reference to be the last token after all outer attributes have been
        parsed.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com>
---
 gcc/rust/parse/rust-parse-impl.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h
index d1f5b6bbf0a..2c6b3d80cb2 100644
--- a/gcc/rust/parse/rust-parse-impl.h
+++ b/gcc/rust/parse/rust-parse-impl.h
@@ -3093,9 +3093,9 @@ template <typename EndTokenPred>
 std::unique_ptr<AST::GenericParam>
 Parser<ManagedTokenSource>::parse_generic_param (EndTokenPred is_end_token)
 {
-  auto token = lexer.peek_token ();
   auto outer_attrs = parse_outer_attribute ();
   std::unique_ptr<AST::GenericParam> param;
+  auto token = lexer.peek_token ();
 
   switch (token->get_id ())
     {
-- 
2.45.2

Reply via email to