https://gcc.gnu.org/g:6b23c7fef58db7324505dede99a4c872af73a3f1

commit r16-4819-g6b23c7fef58db7324505dede99a4c872af73a3f1
Author: Owen Avery <[email protected]>
Date:   Fri Aug 22 22:26:05 2025 -0400

    gccrs: nr1.0: Remove support in borrow checker
    
    gcc/rust/ChangeLog:
    
            * checks/errors/borrowck/rust-bir-builder-internal.h: Remove
            inclusion of "rust-name-resolver.h".
            (BuilderContext::resolver): Change type to nr2.0 resolver.
            (BuilderContext::BuilderContext): Change initialization of
            resolver reference.
            (AbstractBuilder::resolve_label): Assume name resolution 2.0 is
            enabled.
            (AbstractBuilder::resolve_variable): Likewise.
            (AbstractBuilder::resolve_variable_or_fn): Likewise.
    
    Signed-off-by: Owen Avery <[email protected]>

Diff:
---
 .../errors/borrowck/rust-bir-builder-internal.h    | 65 +++++-----------------
 1 file changed, 13 insertions(+), 52 deletions(-)

diff --git a/gcc/rust/checks/errors/borrowck/rust-bir-builder-internal.h 
b/gcc/rust/checks/errors/borrowck/rust-bir-builder-internal.h
index e2cc2ddb0d87..de8a830cf878 100644
--- a/gcc/rust/checks/errors/borrowck/rust-bir-builder-internal.h
+++ b/gcc/rust/checks/errors/borrowck/rust-bir-builder-internal.h
@@ -24,7 +24,6 @@
 #include "rust-hir-item.h"
 #include "rust-hir-type-check.h"
 #include "rust-hir-visitor.h"
-#include "rust-name-resolver.h"
 #include "rust-bir.h"
 #include "rust-bir-free-region.h"
 #include "rust-immutable-name-resolution-context.h"
@@ -75,7 +74,7 @@ struct BuilderContext
 
   // External context.
   Resolver::TypeCheckContext &tyctx;
-  Resolver::Resolver &resolver;
+  const Resolver2_0::NameResolutionContext &resolver;
 
   // BIR output
   BasicBlocks basic_blocks;
@@ -104,7 +103,7 @@ struct BuilderContext
 public:
   BuilderContext ()
     : tyctx (*Resolver::TypeCheckContext::get ()),
-      resolver (*Resolver::Resolver::get ())
+      resolver (Resolver2_0::ImmutableNameResolutionContext::get ().resolver 
())
   {
     basic_blocks.emplace_back (); // StartBB
   }
@@ -403,69 +402,31 @@ protected: // HIR resolution helpers
 
   template <typename T> NodeId resolve_label (T &expr)
   {
-    NodeId resolved_label;
-    if (flag_name_resolution_2_0)
-      {
-       auto &nr_ctx
-         = Resolver2_0::ImmutableNameResolutionContext::get ().resolver ();
-       auto res = nr_ctx.lookup (expr.get_mappings ().get_nodeid ());
-       rust_assert (res.has_value ());
-       resolved_label = res.value ();
-      }
-    else
-      {
-       bool ok = ctx.resolver.lookup_resolved_label (
-         expr.get_mappings ().get_nodeid (), &resolved_label);
-       rust_assert (ok);
-      }
-    return resolved_label;
+    auto res = ctx.resolver.lookup (expr.get_mappings ().get_nodeid ());
+    rust_assert (res.has_value ());
+    return res.value ();
   }
 
   template <typename T> PlaceId resolve_variable (T &variable)
   {
-    NodeId variable_id;
-    if (flag_name_resolution_2_0)
-      {
-       auto &nr_ctx
-         = Resolver2_0::ImmutableNameResolutionContext::get ().resolver ();
-       auto res = nr_ctx.lookup (variable.get_mappings ().get_nodeid ());
-       rust_assert (res.has_value ());
-       variable_id = res.value ();
-      }
-    else
-      {
-       bool ok = ctx.resolver.lookup_resolved_name (
-         variable.get_mappings ().get_nodeid (), &variable_id);
-       rust_assert (ok);
-      }
-    return ctx.place_db.lookup_variable (variable_id);
+    auto res = ctx.resolver.lookup (variable.get_mappings ().get_nodeid ());
+    rust_assert (res.has_value ());
+    return ctx.place_db.lookup_variable (res.value ());
   }
 
   template <typename T>
   PlaceId resolve_variable_or_fn (T &variable, TyTy::BaseType *ty)
   {
     ty = (ty) ? ty : lookup_type (variable);
+
     // Unlike variables,
     // functions do not have to be declared in PlaceDB before use.
-    NodeId variable_id;
-    if (flag_name_resolution_2_0)
-      {
-       auto &nr_ctx
-         = Resolver2_0::ImmutableNameResolutionContext::get ().resolver ();
-       auto res = nr_ctx.lookup (variable.get_mappings ().get_nodeid ());
-       rust_assert (res.has_value ());
-       variable_id = res.value ();
-      }
-    else
-      {
-       bool ok = ctx.resolver.lookup_resolved_name (
-         variable.get_mappings ().get_nodeid (), &variable_id);
-       rust_assert (ok);
-      }
     if (ty->is<TyTy::FnType> ())
       return ctx.place_db.get_constant (ty);
-    else
-      return ctx.place_db.lookup_or_add_variable (variable_id, ty);
+
+    auto res = ctx.resolver.lookup (variable.get_mappings ().get_nodeid ());
+    rust_assert (res.has_value ());
+    return ctx.place_db.lookup_or_add_variable (res.value (), ty);
   }
 
 protected: // Implicit conversions.

Reply via email to