]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #70236 - petrochenkov:globimpice, r=ecstatic-morse
authorMazdak Farrokhzad <twingoow@gmail.com>
Mon, 23 Mar 2020 03:26:10 +0000 (04:26 +0100)
committerGitHub <noreply@github.com>
Mon, 23 Mar 2020 03:26:10 +0000 (04:26 +0100)
commit08dfd1344c47c5a7e3abbee10db6d0bcfde6d107
treeec6e5dcc55e49994a51a7701edc0f2cfc004620f
parent11f5309858db86d0419e53fbb5eb622c87664e3b
parente543e3187c7d82149819c0044515336524086078
Rollup merge of #70236 - petrochenkov:globimpice, r=ecstatic-morse

resolve: Avoid "self-confirming" import resolutions in one more case

So the idea behind "blacklisted bindings" is that we must ignore some name definitions during resolution because otherwise they cause infinite cycles.
E.g. import
```rust
use my_crate;
```
would refer to itself (on 2018 edition) without this blacklisting, because `use my_crate;` is the first name in scope when we are resolving `my_crate` here.

In this PR we are doing this blacklisting for the case
```rust
use same::same;
```
, namely blacklisting the second `same` when resolving the first `same`.
This was previously forgotten.

Fixes https://github.com/rust-lang/rust/issues/62767