From: Arthur Cohen Date: Wed, 1 Oct 2025 10:10:58 +0000 (+0200) Subject: gccrs: nr: Ignore errors when doing prelude resolution X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=912785bc966d2c8bc4122d13697ec1c1afa383fe;p=thirdparty%2Fgcc.git gccrs: nr: Ignore errors when doing prelude resolution We only want to emit the ones from regular name resolution as otherwise they will be doubled for the user for no good reason. gcc/rust/ChangeLog: * resolve/rust-name-resolution-context.h: Co-authored-by: Owen Avery --- diff --git a/gcc/rust/resolve/rust-name-resolution-context.h b/gcc/rust/resolve/rust-name-resolution-context.h index 2d1ce3117b5..4284ea8de23 100644 --- a/gcc/rust/resolve/rust-name-resolution-context.h +++ b/gcc/rust/resolve/rust-name-resolution-context.h @@ -592,25 +592,27 @@ public: // If it fails, switch to std prelude resolution if it exists if (prelude && !resolved) { + std::vector ignore_errors = {}; + // TODO: Factor this with the above switch (ns) { case Namespace::Values: return values.resolve_path (segments, mode, insert_segment_resolution, - collect_errors, *prelude); + ignore_errors, *prelude); case Namespace::Types: return types.resolve_path (segments, mode, - insert_segment_resolution, - collect_errors, *prelude); + insert_segment_resolution, ignore_errors, + *prelude); case Namespace::Macros: return macros.resolve_path (segments, mode, insert_segment_resolution, - collect_errors, *prelude); + ignore_errors, *prelude); case Namespace::Labels: return labels.resolve_path (segments, mode, insert_segment_resolution, - collect_errors, *prelude); + ignore_errors, *prelude); default: rust_unreachable (); }