From: Arthur Cohen Date: Tue, 28 Mar 2023 11:55:19 +0000 (+0200) Subject: gccrs: resolver: Allow SimplePath to resolve to their root segment X-Git-Tag: basepoints/gcc-15~2735 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe00e3591111b19af779799a73bfb894c6f900ad;p=thirdparty%2Fgcc.git gccrs: resolver: Allow SimplePath to resolve to their root segment SimplePath are allowed to resolve to their root segment even if it is `crate` or `super` when checking visibilities. We now have to make sure that this is allowed everywhere a SimplePath is kept. gcc/rust/ChangeLog: * resolve/rust-ast-resolve-path.cc (ResolvePath::resolve_path): Set resolved_node_id when visiting root segment of SimplePath. --- diff --git a/gcc/rust/resolve/rust-ast-resolve-path.cc b/gcc/rust/resolve/rust-ast-resolve-path.cc index 9c3a2eeace0a..38e18bbbef0d 100644 --- a/gcc/rust/resolve/rust-ast-resolve-path.cc +++ b/gcc/rust/resolve/rust-ast-resolve-path.cc @@ -283,6 +283,8 @@ ResolvePath::resolve_path (AST::SimplePath *expr) previous_resolved_node_id = module_scope_id; resolver->insert_resolved_name (segment.get_node_id (), module_scope_id); + resolved_node_id = module_scope_id; + continue; } else if (segment.is_super_path_seg ()) @@ -298,6 +300,8 @@ ResolvePath::resolve_path (AST::SimplePath *expr) previous_resolved_node_id = module_scope_id; resolver->insert_resolved_name (segment.get_node_id (), module_scope_id); + resolved_node_id = module_scope_id; + continue; }