From: Owen Avery Date: Fri, 23 May 2025 20:29:59 +0000 (-0400) Subject: gccrs: nr2.0: Adjust alternate identifier handling X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4351f509956836393b45e3b88878c353c4b20d96;p=thirdparty%2Fgcc.git gccrs: nr2.0: Adjust alternate identifier handling gcc/rust/ChangeLog: * resolve/rust-late-name-resolver-2.0.cc (visit_identifier_as_pattern): Make sure to map identifiers inside or-bindings to prior identifiers. Signed-off-by: Owen Avery --- diff --git a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc index 3c1c346cf14..62829e08a55 100644 --- a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc @@ -236,8 +236,9 @@ visit_identifier_as_pattern (NameResolutionContext &ctx, if (ctx.bindings.peek ().is_or_bound (ident)) { - // FIXME: map usage instead - std::ignore = ctx.values.insert_shadowable (ident, node_id); + auto res = ctx.values.get (ident); + rust_assert (res.has_value () && !res->is_ambiguous ()); + ctx.map_usage (Usage (node_id), Definition (res->get_node_id ())); } else {