[gcc r17-2747] libstdc++: Fix parameter name in map/set printer num_children

Jonathan Wakely via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <20260728100111.4DE424BA2E0F__32235.2091361367$1785232883$gmane$org@sourceware.org>
https://gcc.gnu.org/g:e21755893e22a9458f48b7f9b84a74de43039151

commit r17-2747-ge21755893e22a9458f48b7f9b84a74de43039151
Author: David Faure <[email protected]>
Date:   Mon Jul 27 19:13:43 2026 +0200

    libstdc++: Fix parameter name in map/set printer num_children
    
    StdMapPrinter.num_children and StdSetPrinter.num_children name their
    parameter 'slf' but refer to 'self' in the body, so any call raises
    "NameError: name 'self' is not defined".
    
    GDB does not call num_children for a plain 'print', which is why this
    went unnoticed, but printers that delegate to these ones do hit it.
    For instance KDevelop's QMap pretty-printer forwards to StdMapPrinter,
    and fails with the above error on every Qt 6 QMap since these methods
    were added in commit de124ffe1439.
    
    libstdc++-v3/ChangeLog
    
            * python/libstdcxx/v6/printers.py (StdMapPrinter.num_children):
            Fix parameter name.
            (StdSetPrinter.num_children): Likewise.
    
    Signed-off-by: David Faure <[email protected]>
    Reviewed-by: Tom Tromey <[email protected]>

Diff:
---
 libstdc++-v3/python/libstdcxx/v6/printers.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py
index be7e7a256065..eff4b72c1d8a 100644
--- a/libstdc++-v3/python/libstdcxx/v6/printers.py
+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
@@ -908,7 +908,7 @@ class StdMapPrinter(printer_base):
         node = lookup_node_type('_Rb_tree_node', self._val.type).pointer()
         return self._iter(RbtreeIterator(self._val), node)
 
-    def num_children(slf):
+    def num_children(self):
         return len(RbtreeIterator(self._val))
 
     def display_hint(self):
@@ -950,7 +950,7 @@ class StdSetPrinter(printer_base):
         node = lookup_node_type('_Rb_tree_node', self._val.type).pointer()
         return self._iter(RbtreeIterator(self._val), node)
 
-    def num_children(slf):
+    def num_children(self):
         return len(RbtreeIterator(self._val))
 
 class StdBitsetPrinter(printer_base):
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.