diff options
| author | bors <bors@rust-lang.org> | 2023-06-28 10:43:56 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-06-28 10:43:56 +0000 |
| commit | 4b06d3c595a75fd84bfce2b7f2861a913ed6e530 (patch) | |
| tree | cdaafdde8aa4ec5ff176550c533ad335406592d4 /tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff | |
| parent | 77ccd64326c686d21b9cbf42110b626255f7ca8d (diff) | |
| parent | 56dd5368f5c46aeeb4e823d1dabdbfb59ca317b2 (diff) | |
| download | rust-4b06d3c595a75fd84bfce2b7f2861a913ed6e530.tar.gz rust-4b06d3c595a75fd84bfce2b7f2861a913ed6e530.zip | |
Auto merge of #15148 - lowr:fix/super-nameres-in-block, r=Veykril
Fix `self` and `super` path resolution in block modules This PR fixes `self` and `super` path resolution with block modules involved. Previously, we were just going up the module tree count-of-`super` times without considering block modules in the way, and then if we ended up in a block `DefMap`, we adjust "to the containing crate-rooted module". While this seems to work in most real-world cases, we failed to resolve them within peculiar module structures. `self` and `super` should actually be resolved to the nearest non-block module, and the paths don't necessarily resolve to a crate-rooted module. This PR makes sure every `self` and `super` segment in paths are resolved to a non-block module.
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff')
0 files changed, 0 insertions, 0 deletions
