https://gcc.gnu.org/g:1c7c25cc2a14a3af1e041db4c487f40a11752758

commit r16-6834-g1c7c25cc2a14a3af1e041db4c487f40a11752758
Author: Arthur Cohen <[email protected]>
Date:   Wed Dec 31 16:29:23 2025 +0100

    gccrs: forever-stack: Display depth in debug string
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-forever-stack.h: Add depth parameter to function.
            * resolve/rust-forever-stack.hxx: Likewise and use it.

Diff:
---
 gcc/rust/resolve/rust-forever-stack.h   | 2 +-
 gcc/rust/resolve/rust-forever-stack.hxx | 7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/gcc/rust/resolve/rust-forever-stack.h 
b/gcc/rust/resolve/rust-forever-stack.h
index abb2ca318386..fb265582ad17 100644
--- a/gcc/rust/resolve/rust-forever-stack.h
+++ b/gcc/rust/resolve/rust-forever-stack.h
@@ -787,7 +787,7 @@ private:
   void stream_rib (std::stringstream &stream, const Rib &rib,
                   const std::string &next, const std::string &next_next) const;
   void stream_node (std::stringstream &stream, unsigned indentation,
-                   const Node &node) const;
+                   const Node &node, unsigned depth = 0) const;
 
   /* Helper types and functions for `resolve_path` */
 
diff --git a/gcc/rust/resolve/rust-forever-stack.hxx 
b/gcc/rust/resolve/rust-forever-stack.hxx
index 1ba9686feab6..cd13af0158df 100644
--- a/gcc/rust/resolve/rust-forever-stack.hxx
+++ b/gcc/rust/resolve/rust-forever-stack.hxx
@@ -963,7 +963,8 @@ ForeverStack<N>::stream_rib (std::stringstream &stream, 
const Rib &rib,
 template <Namespace N>
 void
 ForeverStack<N>::stream_node (std::stringstream &stream, unsigned indentation,
-                             const ForeverStack<N>::Node &node) const
+                             const ForeverStack<N>::Node &node,
+                             unsigned depth) const
 {
   auto indent = std::string (indentation, ' ');
   auto next = std::string (indentation + 4, ' ');
@@ -982,12 +983,12 @@ ForeverStack<N>::stream_node (std::stringstream &stream, 
unsigned indentation,
     {
       auto link = kv.first;
       auto child = kv.second;
-      stream << indent << "Link (" << link.id << ", "
+      stream << indent << "Link " << depth << " (" << link.id << ", "
             << (link.path.has_value () ? link.path.value ().as_string ()
                                        : "<anon>")
             << "):\n";
 
-      stream_node (stream, indentation + 4, child);
+      stream_node (stream, indentation + 4, child, depth + 1);
 
       stream << '\n';
     }

Reply via email to