]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: 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)
committerArthur Cohen <arthur.cohen@embecosm.com>
Mon, 24 Mar 2025 12:06:58 +0000 (13:06 +0100)
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 a3b8e6a515f68b307d5ef4243b2edec5799927f9..7c414c47bc9c94d7bc8f2c0549c947a9b4deaff3 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 ([&] () {