Use the glob binding in resolve_rustdoc_path process

This commit is contained in:
r0cky 2023-12-06 21:48:19 +08:00
parent dd6126ef56
commit 940473adb4
3 changed files with 23 additions and 0 deletions

View File

@ -477,6 +477,9 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
self.per_ns(|this, ns| { self.per_ns(|this, ns| {
let key = BindingKey::new(target, ns); let key = BindingKey::new(target, ns);
let _ = this.try_define(import.parent_scope.module, key, dummy_binding, false); 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); self.record_use(target, dummy_binding, false);
} else if import.imported_module.get().is_none() { } else if import.imported_module.get().is_none() {

View File

@ -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::*;

View File

@ -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`.