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);