https://gcc.gnu.org/g:debb0c76ec868c3a1ae6c967be48efb202ad9071
commit r15-2542-gdebb0c76ec868c3a1ae6c967be48efb202ad9071 Author: Arthur Cohen <arthur.co...@embecosm.com> Date: Thu Aug 24 17:50:45 2023 +0200 gccrs: 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);