https://gcc.gnu.org/g:3f04e827803eabcbdec1bd9d92d653da895f0c9f

commit 3f04e827803eabcbdec1bd9d92d653da895f0c9f
Author: Arthur Cohen <arthur.co...@embecosm.com>
Date:   Thu Aug 24 17:50:45 2023 +0200

    session manager: Init Immutable name resolver.
    
    gcc/rust/ChangeLog:
    
            * rust-session-manager.cc (Session::compile_crate): Create an 
immutable
            view of the name resolution context.

Diff:
---
 gcc/rust/rust-session-manager.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 64e0190f716d..1c7e2766d710 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -18,6 +18,7 @@
 
 #include "rust-session-manager.h"
 #include "rust-diagnostics.h"
+#include "rust-immutable-name-resolution-context.h"
 #include "rust-unsafe-checker.h"
 #include "rust-lex.h"
 #include "rust-parse.h"
@@ -659,6 +660,9 @@ Session::compile_crate (const char *filename)
   if (last_step == CompileOptions::CompileStep::TypeCheck)
     return;
 
+  // name resolution is done, we now freeze the name resolver for type checking
+  Resolver2_0::ImmutableNameResolutionContext::init (name_resolution_ctx);
+
   // type resolve
   Resolver::TypeResolution::Resolve (hir);

Reply via email to