Skip to content

Commit 1a9a226

Browse files
committed
resolve: Import ty::Visibility everywhere
1 parent 01b546a commit 1a9a226

File tree

4 files changed

+39
-42
lines changed

4 files changed

+39
-42
lines changed

compiler/rustc_resolve/src/build_reduced_graph.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ use rustc_hir::def::{self, *};
2020
use rustc_hir::def_id::{CRATE_DEF_ID, DefId, LocalDefId};
2121
use rustc_index::bit_set::DenseBitSet;
2222
use rustc_metadata::creader::LoadedMacro;
23+
use rustc_middle::bug;
2324
use rustc_middle::metadata::ModChild;
24-
use rustc_middle::ty::Feed;
25-
use rustc_middle::{bug, ty};
25+
use rustc_middle::ty::{Feed, Visibility};
2626
use rustc_span::hygiene::{ExpnId, LocalExpnId, MacroKind};
2727
use rustc_span::{Ident, Span, Symbol, kw, sym};
2828
use tracing::debug;
@@ -61,7 +61,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
6161
ident: Ident,
6262
ns: Namespace,
6363
res: Res,
64-
vis: ty::Visibility<impl Into<DefId>>,
64+
vis: Visibility<impl Into<DefId>>,
6565
span: Span,
6666
expn_id: LocalExpnId,
6767
) {
@@ -281,21 +281,21 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
281281
Res::Def(self.r.tcx.def_kind(def_id), def_id)
282282
}
283283

284-
fn resolve_visibility(&mut self, vis: &ast::Visibility) -> ty::Visibility {
284+
fn resolve_visibility(&mut self, vis: &ast::Visibility) -> Visibility {
285285
self.try_resolve_visibility(vis, true).unwrap_or_else(|err| {
286286
self.r.report_vis_error(err);
287-
ty::Visibility::Public
287+
Visibility::Public
288288
})
289289
}
290290

291291
fn try_resolve_visibility<'ast>(
292292
&mut self,
293293
vis: &'ast ast::Visibility,
294294
finalize: bool,
295-
) -> Result<ty::Visibility, VisResolutionError<'ast>> {
295+
) -> Result<Visibility, VisResolutionError<'ast>> {
296296
let parent_scope = &self.parent_scope;
297297
match vis.kind {
298-
ast::VisibilityKind::Public => Ok(ty::Visibility::Public),
298+
ast::VisibilityKind::Public => Ok(Visibility::Public),
299299
ast::VisibilityKind::Inherited => {
300300
Ok(match self.parent_scope.module.kind {
301301
// Any inherited visibility resolved directly inside an enum or trait
@@ -305,7 +305,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
305305
self.r.tcx.visibility(def_id).expect_local()
306306
}
307307
// Otherwise, the visibility is restricted to the nearest parent `mod` item.
308-
_ => ty::Visibility::Restricted(
308+
_ => Visibility::Restricted(
309309
self.parent_scope.module.nearest_parent_mod().expect_local(),
310310
),
311311
})
@@ -353,9 +353,9 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
353353
}
354354
if module.is_normal() {
355355
match res {
356-
Res::Err => Ok(ty::Visibility::Public),
356+
Res::Err => Ok(Visibility::Public),
357357
_ => {
358-
let vis = ty::Visibility::Restricted(res.def_id());
358+
let vis = Visibility::Restricted(res.def_id());
359359
if self.r.is_accessible_from(vis, parent_scope.module) {
360360
Ok(vis.expect_local())
361361
} else {
@@ -420,7 +420,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
420420
item: &ast::Item,
421421
root_span: Span,
422422
root_id: NodeId,
423-
vis: ty::Visibility,
423+
vis: Visibility,
424424
) {
425425
let current_module = self.parent_scope.module;
426426
let import = self.r.arenas.alloc_import(ImportData {
@@ -468,7 +468,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
468468
list_stem: bool,
469469
// The whole `use` item
470470
item: &Item,
471-
vis: ty::Visibility,
471+
vis: Visibility,
472472
root_span: Span,
473473
) {
474474
debug!(
@@ -677,7 +677,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
677677
true,
678678
// The whole `use` item
679679
item,
680-
ty::Visibility::Restricted(
680+
Visibility::Restricted(
681681
self.parent_scope.module.nearest_parent_mod().expect_local(),
682682
),
683683
root_span,
@@ -693,7 +693,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
693693
ident: Ident,
694694
feed: Feed<'tcx, LocalDefId>,
695695
adt_res: Res,
696-
adt_vis: ty::Visibility,
696+
adt_vis: Visibility,
697697
adt_span: Span,
698698
) {
699699
let parent_scope = &self.parent_scope;
@@ -818,7 +818,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
818818
let mut ctor_vis = if vis.is_public()
819819
&& ast::attr::contains_name(&item.attrs, sym::non_exhaustive)
820820
{
821-
ty::Visibility::Restricted(CRATE_DEF_ID)
821+
Visibility::Restricted(CRATE_DEF_ID)
822822
} else {
823823
vis
824824
};
@@ -831,7 +831,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
831831
// constructor visibility should still be determined correctly.
832832
let field_vis = self
833833
.try_resolve_visibility(&field.vis, false)
834-
.unwrap_or(ty::Visibility::Public);
834+
.unwrap_or(Visibility::Public);
835835
if ctor_vis.is_at_least(field_vis, self.r.tcx) {
836836
ctor_vis = field_vis;
837837
}
@@ -880,7 +880,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
880880
item: &Item,
881881
ident: Ident,
882882
local_def_id: LocalDefId,
883-
vis: ty::Visibility,
883+
vis: Visibility,
884884
parent: Module<'ra>,
885885
) {
886886
let sp = item.span;
@@ -1064,7 +1064,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
10641064
root_span: span,
10651065
span,
10661066
module_path: Vec::new(),
1067-
vis: ty::Visibility::Restricted(CRATE_DEF_ID),
1067+
vis: Visibility::Restricted(CRATE_DEF_ID),
10681068
})
10691069
};
10701070

@@ -1214,9 +1214,9 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
12141214
self.r.macro_names.insert(ident);
12151215
let is_macro_export = ast::attr::contains_name(&item.attrs, sym::macro_export);
12161216
let vis = if is_macro_export {
1217-
ty::Visibility::Public
1217+
Visibility::Public
12181218
} else {
1219-
ty::Visibility::Restricted(CRATE_DEF_ID)
1219+
Visibility::Restricted(CRATE_DEF_ID)
12201220
};
12211221
let binding = self.r.arenas.new_res_binding(res, vis.to_def_id(), span, expansion);
12221222
self.r.set_binding_parent_module(binding, parent_scope.module);
@@ -1258,7 +1258,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
12581258
// Visibilities must not be resolved non-speculatively twice
12591259
// and we already resolved this one as a `fn` item visibility.
12601260
ItemKind::Fn(..) => {
1261-
self.try_resolve_visibility(&item.vis, false).unwrap_or(ty::Visibility::Public)
1261+
self.try_resolve_visibility(&item.vis, false).unwrap_or(Visibility::Public)
12621262
}
12631263
_ => self.resolve_visibility(&item.vis),
12641264
};
@@ -1492,7 +1492,7 @@ impl<'a, 'ra, 'tcx> Visitor<'a> for BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
14921492
// If the variant is marked as non_exhaustive then lower the visibility to within the crate.
14931493
let ctor_vis =
14941494
if vis.is_public() && ast::attr::contains_name(&variant.attrs, sym::non_exhaustive) {
1495-
ty::Visibility::Restricted(CRATE_DEF_ID)
1495+
Visibility::Restricted(CRATE_DEF_ID)
14961496
} else {
14971497
vis
14981498
};

compiler/rustc_resolve/src/imports.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ use rustc_errors::{Applicability, MultiSpan, pluralize, struct_span_code_err};
1111
use rustc_hir::def::{self, DefKind, PartialRes};
1212
use rustc_hir::def_id::DefId;
1313
use rustc_middle::metadata::{ModChild, Reexport};
14-
use rustc_middle::{span_bug, ty};
14+
use rustc_middle::span_bug;
15+
use rustc_middle::ty::Visibility;
1516
use rustc_session::lint::BuiltinLintDiag;
1617
use rustc_session::lint::builtin::{
1718
AMBIGUOUS_GLOB_REEXPORTS, HIDDEN_GLOB_REEXPORTS, PUB_USE_OF_PRIVATE_EXTERN_CRATE,
@@ -88,7 +89,7 @@ pub(crate) enum ImportKind<'ra> {
8889
is_prelude: bool,
8990
// The visibility of the greatest re-export.
9091
// n.b. `max_vis` is only used in `finalize_import` to check for re-export errors.
91-
max_vis: Cell<Option<ty::Visibility>>,
92+
max_vis: Cell<Option<Visibility>>,
9293
id: NodeId,
9394
},
9495
ExternCrate {
@@ -185,7 +186,7 @@ pub(crate) struct ImportData<'ra> {
185186
/// |`use ::foo` | `ModuleOrUniformRoot::CrateRootAndExternPrelude` | a special case in 2015 edition |
186187
/// |`use foo` | `ModuleOrUniformRoot::CurrentScope` | - |
187188
pub imported_module: Cell<Option<ModuleOrUniformRoot<'ra>>>,
188-
pub vis: ty::Visibility,
189+
pub vis: Visibility,
189190
}
190191

191192
/// All imports are unique and allocated on a same arena,
@@ -1280,7 +1281,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
12801281

12811282
if !binding.vis.is_at_least(import.vis, this.tcx) {
12821283
reexport_error = Some((ns, binding));
1283-
if let ty::Visibility::Restricted(binding_def_id) = binding.vis
1284+
if let Visibility::Restricted(binding_def_id) = binding.vis
12841285
&& binding_def_id.is_top_level_module()
12851286
{
12861287
crate_private_reexport = true;

compiler/rustc_resolve/src/late.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use rustc_hir::def::{self, CtorKind, DefKind, LifetimeRes, NonMacroAttrKind, Par
2828
use rustc_hir::def_id::{CRATE_DEF_ID, DefId, LOCAL_CRATE, LocalDefId};
2929
use rustc_hir::{MissingLifetimeKind, PrimTy, TraitCandidate};
3030
use rustc_middle::middle::resolve_bound_vars::Set1;
31-
use rustc_middle::ty::DelegationFnSig;
31+
use rustc_middle::ty::{DelegationFnSig, Visibility};
3232
use rustc_middle::{bug, span_bug};
3333
use rustc_session::config::{CrateType, ResolveDocLinks};
3434
use rustc_session::lint::{self, BuiltinLintDiag};
@@ -638,8 +638,8 @@ impl PathSource<'_, '_, '_> {
638638
enum MaybeExported<'a> {
639639
Ok(NodeId),
640640
Impl(Option<DefId>),
641-
ImplItem(Result<DefId, &'a Visibility>),
642-
NestedUse(&'a Visibility),
641+
ImplItem(Result<DefId, &'a ast::Visibility>),
642+
NestedUse(&'a ast::Visibility),
643643
}
644644

645645
impl MaybeExported<'_> {
@@ -3463,7 +3463,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
34633463
span,
34643464
"error should be emitted when an unexpected trait item is used",
34653465
);
3466-
rustc_middle::ty::Visibility::Public
3466+
Visibility::Public
34673467
};
34683468
this.r.feed_visibility(this.r.feed(id), vis);
34693469
};

compiler/rustc_resolve/src/lib.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ use rustc_middle::query::Providers;
6565
use rustc_middle::span_bug;
6666
use rustc_middle::ty::{
6767
self, DelegationFnSig, Feed, MainDefinition, RegisteredTools, ResolverGlobalCtxt,
68-
ResolverOutputs, TyCtxt, TyCtxtFeed,
68+
ResolverOutputs, TyCtxt, TyCtxtFeed, Visibility,
6969
};
7070
use rustc_query_system::ich::StableHashingContext;
7171
use rustc_session::lint::builtin::PRIVATE_MACRO_USE;
@@ -748,7 +748,7 @@ struct NameBindingData<'ra> {
748748
warn_ambiguity: bool,
749749
expansion: LocalExpnId,
750750
span: Span,
751-
vis: ty::Visibility<DefId>,
751+
vis: Visibility<DefId>,
752752
}
753753

754754
/// All name bindings are unique and allocated on a same arena,
@@ -1083,7 +1083,7 @@ pub struct Resolver<'ra, 'tcx> {
10831083
/// Maps glob imports to the names of items actually imported.
10841084
glob_map: FxIndexMap<LocalDefId, FxIndexSet<Symbol>>,
10851085
glob_error: Option<ErrorGuaranteed>,
1086-
visibilities_for_hashing: Vec<(LocalDefId, ty::Visibility)>,
1086+
visibilities_for_hashing: Vec<(LocalDefId, Visibility)>,
10871087
used_imports: FxHashSet<NodeId>,
10881088
maybe_unused_trait_imports: FxIndexSet<LocalDefId>,
10891089

@@ -1156,7 +1156,7 @@ pub struct Resolver<'ra, 'tcx> {
11561156
/// Table for mapping struct IDs into struct constructor IDs,
11571157
/// it's not used during normal resolution, only for better error reporting.
11581158
/// Also includes of list of each fields visibility
1159-
struct_constructors: LocalDefIdMap<(Res, ty::Visibility<DefId>, Vec<ty::Visibility<DefId>>)>,
1159+
struct_constructors: LocalDefIdMap<(Res, Visibility<DefId>, Vec<Visibility<DefId>>)>,
11601160

11611161
lint_buffer: LintBuffer,
11621162

@@ -1233,7 +1233,7 @@ impl<'ra> ResolverArenas<'ra> {
12331233
fn new_res_binding(
12341234
&'ra self,
12351235
res: Res,
1236-
vis: ty::Visibility<DefId>,
1236+
vis: Visibility<DefId>,
12371237
span: Span,
12381238
expansion: LocalExpnId,
12391239
) -> NameBinding<'ra> {
@@ -1603,7 +1603,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
16031603

16041604
let root_parent_scope = ParentScope::module(graph_root, &resolver);
16051605
resolver.invocation_parent_scopes.insert(LocalExpnId::ROOT, root_parent_scope);
1606-
resolver.feed_visibility(crate_feed, ty::Visibility::Public);
1606+
resolver.feed_visibility(crate_feed, Visibility::Public);
16071607

16081608
resolver
16091609
}
@@ -1657,7 +1657,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
16571657
Default::default()
16581658
}
16591659

1660-
fn feed_visibility(&mut self, feed: Feed<'tcx, LocalDefId>, vis: ty::Visibility) {
1660+
fn feed_visibility(&mut self, feed: Feed<'tcx, LocalDefId>, vis: Visibility) {
16611661
let feed = feed.upgrade(self.tcx);
16621662
feed.visibility(vis.to_def_id());
16631663
self.visibilities_for_hashing.push((feed.def_id(), vis));
@@ -2109,11 +2109,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
21092109
self.pat_span_map.insert(node, span);
21102110
}
21112111

2112-
fn is_accessible_from(
2113-
&self,
2114-
vis: ty::Visibility<impl Into<DefId>>,
2115-
module: Module<'ra>,
2116-
) -> bool {
2112+
fn is_accessible_from(&self, vis: Visibility<impl Into<DefId>>, module: Module<'ra>) -> bool {
21172113
vis.is_accessible_from(module.nearest_parent_mod(), self.tcx)
21182114
}
21192115

0 commit comments

Comments
 (0)