Auto merge of #78784 - Mark-Simulacrum:revert-77421, r=petrochenkov
Revert "Revert "resolve: Avoid "self-confirming" import resolutions in one more case""
Specifically, this reverts commit b20bce8ce5 from #77421 to fix #77586.
The lang team has decided that for the time being we want to avoid the breakage here (perhaps for a future edition; though almost certainly not the upcoming one), though a future PR may want to add a lint around this case (and perhaps others) which are unlikely to be readable code.
r? `@petrochenkov` to confirm this is the right way to fix #77586.
This commit is contained in:
commit
771cc7ffc3
3 changed files with 16 additions and 26 deletions
|
|
@ -1,3 +1,5 @@
|
|||
// check-pass
|
||||
|
||||
// Minimized case from #62767.
|
||||
mod m {
|
||||
pub enum Same {
|
||||
|
|
@ -9,7 +11,7 @@ use m::*;
|
|||
|
||||
// The variant `Same` introduced by this import is also considered when resolving the prefix
|
||||
// `Same::` during import validation to avoid effects similar to time travel (#74556).
|
||||
use Same::Same; //~ ERROR unresolved import `Same`
|
||||
use Same::Same;
|
||||
|
||||
// Case from #74556.
|
||||
mod foo {
|
||||
|
|
@ -21,8 +23,8 @@ mod foo {
|
|||
}
|
||||
|
||||
use foo::*;
|
||||
use bar::bar; //~ ERROR unresolved import `bar::bar`
|
||||
//~| ERROR inconsistent resolution for an import
|
||||
use bar::bar;
|
||||
|
||||
use bar::foobar;
|
||||
|
||||
fn main() {}
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
error: inconsistent resolution for an import
|
||||
--> $DIR/issue-62767.rs:24:5
|
||||
|
|
||||
LL | use bar::bar;
|
||||
| ^^^^^^^^
|
||||
|
||||
error[E0432]: unresolved import `Same`
|
||||
--> $DIR/issue-62767.rs:12:5
|
||||
|
|
||||
LL | use Same::Same;
|
||||
| ^^^^ `Same` is a variant, not a module
|
||||
|
||||
error[E0432]: unresolved import `bar::bar`
|
||||
--> $DIR/issue-62767.rs:24:5
|
||||
|
|
||||
LL | use bar::bar;
|
||||
| ^^^^^^^^ no `bar` in `foo::bar::bar`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0432`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue