Skip to content

Commit 86d7556

Browse files
committed
Pass DiagMetadata through in more cases
1 parent 44ece2e commit 86d7556

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

compiler/rustc_resolve/src/diagnostics.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ use crate::errors::{
4040
MaybeMissingMacroRulesName,
4141
};
4242
use crate::imports::{Import, ImportKind};
43-
use crate::late::{PatternSource, Rib};
43+
use crate::late::{DiagMetadata, PatternSource, Rib};
4444
use crate::{
4545
AmbiguityError, AmbiguityErrorMisc, AmbiguityKind, BindingError, BindingKey, Finalize,
4646
ForwardGenericParamBanReason, HasGenericParams, LexicalScopeBinding, MacroRulesScope, Module,
@@ -2406,6 +2406,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
24062406
module: Option<ModuleOrUniformRoot<'ra>>,
24072407
failed_segment_idx: usize,
24082408
ident: Ident,
2409+
diag_metadata: Option<&DiagMetadata<'_>>,
24092410
) -> (String, Option<Suggestion>) {
24102411
let is_last = failed_segment_idx == path.len() - 1;
24112412
let ns = if is_last { opt_ns.unwrap_or(TypeNS) } else { TypeNS };
@@ -2511,7 +2512,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
25112512
None,
25122513
&ribs[ns_to_try],
25132514
ignore_binding,
2514-
None,
2515+
diag_metadata,
25152516
) {
25162517
// we found a locally-imported or available item/module
25172518
Some(LexicalScopeBinding::Item(binding)) => Some(binding),
@@ -2562,7 +2563,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
25622563
None,
25632564
&ribs[ValueNS],
25642565
ignore_binding,
2565-
None,
2566+
diag_metadata,
25662567
)
25672568
} else {
25682569
None

compiler/rustc_resolve/src/ident.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1835,6 +1835,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
18351835
module,
18361836
segment_idx,
18371837
ident,
1838+
diag_metadata,
18381839
)
18391840
},
18401841
);

compiler/rustc_resolve/src/late.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -885,7 +885,6 @@ impl<'ast, 'ra, 'tcx> Visitor<'ast> for LateResolutionVisitor<'_, 'ast, 'ra, 'tc
885885
TypeNS,
886886
Some(Finalize::new(ty.id, ty.span)),
887887
None,
888-
None,
889888
)
890889
.map_or(Res::Err, |d| d.res());
891890
self.r.record_partial_res(ty.id, PartialRes::new(res));
@@ -1458,7 +1457,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
14581457
None,
14591458
&self.ribs[ns],
14601459
None,
1461-
None,
1460+
Some(&self.diag_metadata),
14621461
)
14631462
}
14641463

@@ -1468,7 +1467,6 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
14681467
ns: Namespace,
14691468
finalize: Option<Finalize>,
14701469
ignore_binding: Option<NameBinding<'ra>>,
1471-
diag_metadata: Option<&crate::late::DiagMetadata<'_>>,
14721470
) -> Option<LexicalScopeBinding<'ra>> {
14731471
self.r.resolve_ident_in_lexical_scope(
14741472
ident,
@@ -1477,7 +1475,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
14771475
finalize,
14781476
&self.ribs[ns],
14791477
ignore_binding,
1480-
diag_metadata,
1478+
Some(&self.diag_metadata),
14811479
)
14821480
}
14831481

@@ -2556,8 +2554,8 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
25562554
report_error(self, ns);
25572555
}
25582556
Some(LexicalScopeBinding::Item(binding)) => {
2559-
if let Some(LexicalScopeBinding::Res(..)) = self
2560-
.resolve_ident_in_lexical_scope(ident, ns, None, Some(binding), None)
2557+
if let Some(LexicalScopeBinding::Res(..)) =
2558+
self.resolve_ident_in_lexical_scope(ident, ns, None, Some(binding))
25612559
{
25622560
report_error(self, ns);
25632561
}
@@ -5110,7 +5108,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
51105108
// use the type namespace
51115109
let ns = if i + 1 == path.len() { ns } else { TypeNS };
51125110
let res = self.r.partial_res_map.get(&seg.id?)?.full_res()?;
5113-
let binding = self.resolve_ident_in_lexical_scope(seg.ident, ns, None, None, None)?;
5111+
let binding = self.resolve_ident_in_lexical_scope(seg.ident, ns, None, None)?;
51145112
(res == binding.res()).then_some((seg, binding))
51155113
});
51165114

0 commit comments

Comments
 (0)