Auto merge of #31716 - jseyfried:fix_privacy_for_def_err, r=nrc
Fixes #31714
This commit is contained in:
commit
917db28b55
|
@ -1038,6 +1038,7 @@ impl<'a> NameBinding<'a> {
|
|||
|
||||
fn def_and_lp(&self) -> (Def, LastPrivate) {
|
||||
let def = self.def().unwrap();
|
||||
if let Def::Err = def { return (def, LastMod(AllPublic)) }
|
||||
(def, LastMod(if self.is_public() { AllPublic } else { DependsOn(def.def_id()) }))
|
||||
}
|
||||
|
||||
|
|
|
@ -218,6 +218,8 @@ impl<'a, 'b:'a, 'tcx:'b> ImportResolver<'a, 'b, 'tcx> {
|
|||
kind: NameBindingKind::Def(Def::Err),
|
||||
span: None,
|
||||
});
|
||||
let dummy_binding =
|
||||
self.resolver.new_name_binding(e.import_directive.import(dummy_binding));
|
||||
|
||||
let _ = e.source_module.try_define_child(target, ValueNS, dummy_binding);
|
||||
let _ = e.source_module.try_define_child(target, TypeNS, dummy_binding);
|
||||
|
|
|
@ -15,5 +15,10 @@ use zed::baz;
|
|||
|
||||
mod zed {
|
||||
pub fn bar() { println!("bar"); }
|
||||
use foo; //~ ERROR unresolved import
|
||||
}
|
||||
|
||||
fn main() {
|
||||
zed::foo(); //~ ERROR unresolved name
|
||||
bar();
|
||||
}
|
||||
fn main() { bar(); }
|
||||
|
|
Loading…
Reference in New Issue