Skip to content

Commit 5368bd5

Browse files
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 <[email protected]>
1 parent 9e474b5 commit 5368bd5

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

gcc/rust/resolve/rust-name-resolution-context.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -592,25 +592,27 @@ class NameResolutionContext
592592
// If it fails, switch to std prelude resolution if it exists
593593
if (prelude && !resolved)
594594
{
595+
std::vector<Error> ignore_errors = {};
596+
595597
// TODO: Factor this with the above
596598
switch (ns)
597599
{
598600
case Namespace::Values:
599601
return values.resolve_path (segments, mode,
600602
insert_segment_resolution,
601-
collect_errors, *prelude);
603+
ignore_errors, *prelude);
602604
case Namespace::Types:
603605
return types.resolve_path (segments, mode,
604-
insert_segment_resolution,
605-
collect_errors, *prelude);
606+
insert_segment_resolution, ignore_errors,
607+
*prelude);
606608
case Namespace::Macros:
607609
return macros.resolve_path (segments, mode,
608610
insert_segment_resolution,
609-
collect_errors, *prelude);
611+
ignore_errors, *prelude);
610612
case Namespace::Labels:
611613
return labels.resolve_path (segments, mode,
612614
insert_segment_resolution,
613-
collect_errors, *prelude);
615+
ignore_errors, *prelude);
614616
default:
615617
rust_unreachable ();
616618
}

0 commit comments

Comments
 (0)