mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-28 20:16:58 +03:00
Fix merging of segment_index in path resolution
This commit is contained in:
@@ -108,7 +108,6 @@ pub(super) fn resolve_path_fp_with_macro(
|
||||
shadow: BuiltinShadowMode,
|
||||
) -> ResolvePathResult {
|
||||
let mut result = ResolvePathResult::empty(ReachedFixedPoint::No);
|
||||
result.segment_index = Some(usize::max_value());
|
||||
|
||||
let mut arc;
|
||||
let mut current_map = self;
|
||||
@@ -128,7 +127,11 @@ pub(super) fn resolve_path_fp_with_macro(
|
||||
}
|
||||
// FIXME: this doesn't seem right; what if the different namespace resolutions come from different crates?
|
||||
result.krate = result.krate.or(new.krate);
|
||||
result.segment_index = result.segment_index.min(new.segment_index);
|
||||
result.segment_index = match (result.segment_index, new.segment_index) {
|
||||
(Some(idx), None) => Some(idx),
|
||||
(Some(old), Some(new)) => Some(old.max(new)),
|
||||
(None, new) => new,
|
||||
};
|
||||
|
||||
match ¤t_map.block {
|
||||
Some(block) => {
|
||||
|
||||
Reference in New Issue
Block a user