Fix associated item visibility in block-local impls

This commit is contained in:
Ryo Yoshida 2023-02-19 23:30:49 +09:00
parent 443801755c
commit 83e24fec98
No known key found for this signature in database
GPG key ID: E25698A930586171
5 changed files with 52 additions and 8 deletions

View file

@ -214,10 +214,12 @@ impl Resolver {
db: &dyn DefDatabase,
visibility: &RawVisibility,
) -> Option<Visibility> {
let within_impl =
self.scopes().find(|scope| matches!(scope, Scope::ImplDefScope(_))).is_some();
match visibility {
RawVisibility::Module(_) => {
let (item_map, module) = self.item_scope();
item_map.resolve_visibility(db, module, visibility)
item_map.resolve_visibility(db, module, visibility, within_impl)
}
RawVisibility::Public => Some(Visibility::Public),
}