gccrs: ast: Dump trait object type
authorJakub Dupak <dev@jakubdupak.com>
Tue, 15 Nov 2022 14:49:05 +0000 (15:49 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 21 Feb 2023 11:36:48 +0000 (12:36 +0100)
gcc/rust/ChangeLog:

* ast/rust-ast-dump.cc (Dump::visit): Add missing visitor.

Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
gcc/rust/ast/rust-ast-dump.cc

index 1d593d4..0ae57fd 100644 (file)
@@ -1618,12 +1618,21 @@ Dump::visit (ImplTraitType &type)
   //    TypeParamBound ( + TypeParamBound )* +?
 
   stream << "impl ";
-  visit_items_joined_by_separator(type.get_type_param_bounds (), " + ");
+  visit_items_joined_by_separator (type.get_type_param_bounds (), " + ");
 }
 
 void
-Dump::visit (TraitObjectType &)
-{}
+Dump::visit (TraitObjectType &type)
+{
+  // Syntax:
+  //   dyn? TypeParamBounds
+  // TypeParamBounds :
+  //   TypeParamBound ( + TypeParamBound )* +?
+
+  if (type.is_dyn ())
+    stream << "dyn ";
+  visit_items_joined_by_separator (type.get_type_param_bounds (), " + ");
+}
 
 void
 Dump::visit (ParenthesisedType &)
@@ -1636,7 +1645,7 @@ Dump::visit (ImplTraitTypeOneBound &type)
   //    impl TraitBound
 
   stream << "impl ";
-  visit (type.get_trait_bound());
+  visit (type.get_trait_bound ());
 }
 
 void