]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
nr2.0: late: Add proper handling for lang item PathInExpressions
authorArthur Cohen <arthur.cohen@embecosm.com>
Fri, 31 Jan 2025 12:26:21 +0000 (12:26 +0000)
committerCohenArthur <arthur.cohen@embecosm.com>
Sun, 2 Feb 2025 18:28:48 +0000 (18:28 +0000)
gcc/rust/ChangeLog:

* resolve/rust-late-name-resolver-2.0.cc (Late::visit): Special case lang item paths.

gcc/rust/resolve/rust-late-name-resolver-2.0.cc

index ec20e9af340f219a5e1e3adcbf38d3ec8aacbbe0..a0c3a051ea7036592cbbc0bd532b1d64ead73c24 100644 (file)
@@ -254,8 +254,14 @@ Late::visit (AST::PathInExpression &expr)
   // TODO: How do we have a nice error with `can't capture dynamic environment
   // in a function item` error here?
   // do we emit it in `get<Namespace::Labels>`?
+
   if (expr.is_lang_item ())
-    return;
+    {
+      ctx.map_usage (Usage (expr.get_node_id ()),
+                    Definition (Analysis::Mappings::get ().get_lang_item_node (
+                      expr.get_lang_item ())));
+      return;
+    }
 
   auto resolved
     = ctx.values.resolve_path (expr.get_segments ()).or_else ([&] () {