https://gcc.gnu.org/g:681fb2543a44c895c989d6a68d5ac6d01ae49bc9
commit r17-4326-g681fb2543a44c895c989d6a68d5ac6d01ae49bc9 Author: Pierre-Emmanuel Patry <[email protected]> Date: Thu Sep 3 19:26:12 2026 +0200 gccrs: Replace indexing with reverse iterator This change makes the code a bit simpler, it comes from a series of patch that got deleted and was iterating backward on the self segments. gcc/rust/ChangeLog: * resolve/rust-early-name-resolver-2.0.cc (Early::finalize_rebind_import): Use a reverse iterator instead of an index. Signed-off-by: Pierre-Emmanuel Patry <[email protected]> Diff: --- gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/rust/resolve/rust-early-name-resolver-2.0.cc b/gcc/rust/resolve/rust-early-name-resolver-2.0.cc index 28e1d90a5348..cb67af3e9b3d 100644 --- a/gcc/rust/resolve/rust-early-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-early-name-resolver-2.0.cc @@ -540,8 +540,11 @@ Early::finalize_rebind_import (const Early::ImportPair &mapping) // Erroneous `self` or `{self}` use declaration if (segments.size () == 1) return; - declared_name = segments[segments.size () - 2].as_string (); - import_id = segments[segments.size () - 2].get_node_id (); + + auto pre_self_segment = segments.rbegin () + 1; + + declared_name = pre_self_segment->as_string (); + import_id = pre_self_segment->get_node_id (); } else {
