aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-06-28 13:10:57 +0200
committerCohenArthur <arthur.cohen@embecosm.com>2023-07-07 13:46:54 +0000
commit23d13cbcb39b685599a34b37fe25e7a7332d34de (patch)
tree0661f10607579a6cd180d6cebe386ac70f628fd1
parent1d184037a3c1dbe89ae6fd0815c5a4303028dc50 (diff)
downloadgcc-23d13cbcb39b685599a34b37fe25e7a7332d34de.zip
gcc-23d13cbcb39b685599a34b37fe25e7a7332d34de.tar.gz
gcc-23d13cbcb39b685599a34b37fe25e7a7332d34de.tar.bz2
collector: Fix trait impl block
Trait impl block did not output any generic declaration nor the trait excalamation mark. gcc/rust/ChangeLog: * ast/rust-ast-collector.cc (TokenCollector::visit): Fix trait impl block output. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-rw-r--r--gcc/rust/ast/rust-ast-collector.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rust/ast/rust-ast-collector.cc b/gcc/rust/ast/rust-ast-collector.cc
index eb34ceb..8fc0f3d 100644
--- a/gcc/rust/ast/rust-ast-collector.cc
+++ b/gcc/rust/ast/rust-ast-collector.cc
@@ -2144,6 +2144,9 @@ TokenCollector::visit (TraitImpl &impl)
{
visit_items_as_lines (impl.get_outer_attrs ());
push (Rust::Token::make (IMPL, impl.get_locus ()));
+ visit (impl.get_generic_params ());
+ if (impl.is_exclam ())
+ push (Rust::Token::make (EXCLAM, Location ()));
visit (impl.get_trait_path ());
push (Rust::Token::make (FOR, Location ()));
visit (impl.get_type ());