Skip to content

Commit

Permalink
Auto merge of rust-lang#117936 - mu001999:master, r=petrochenkov
Browse files Browse the repository at this point in the history
Use the glob binding in resolve_rustdoc_path process

Fixes rust-lang#117920

Returning `None` seems enough.

I reproduces and tests this locally by `cargo +stage1 build`, but I cannot reproduce this ICE by putting [the following code](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=8b3ca8f4a7676eb90baf30437ba041a2) into `tests/ui/...` and then compiling it using `rustc +stage1 /path/to/test.rs` or `x.py test`:
```rust
#![crate_type = "lib"]

use super::Hasher;

/// [`Hasher`]
pub use core::hash::*;
```

r? `@petrochenkov`
  • Loading branch information
bors committed Dec 6, 2023
2 parents 7a34091 + 940473a commit 1fdfe12
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
3 changes: 3 additions & 0 deletions compiler/rustc_resolve/src/imports.rs
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,9 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
self.per_ns(|this, ns| {
let key = BindingKey::new(target, ns);
let _ = this.try_define(import.parent_scope.module, key, dummy_binding, false);
this.update_resolution(import.parent_scope.module, key, false, |_, resolution| {
resolution.single_imports.remove(&import);
})
});
self.record_use(target, dummy_binding, false);
} else if import.imported_module.get().is_none() {
Expand Down
11 changes: 11 additions & 0 deletions tests/ui/resolve/issue-117920.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#![crate_type = "lib"]

use super::A; //~ ERROR failed to resolve

mod b {
pub trait A {}
pub trait B {}
}

/// [`A`]
pub use b::*;
9 changes: 9 additions & 0 deletions tests/ui/resolve/issue-117920.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
error[E0433]: failed to resolve: there are too many leading `super` keywords
--> $DIR/issue-117920.rs:3:5
|
LL | use super::A;
| ^^^^^ there are too many leading `super` keywords

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0433`.

0 comments on commit 1fdfe12

Please sign in to comment.