Skip to content

Commit e718eb8

Browse files
committed
resolve: Import ty::Visibility everywhere
1 parent 2b96641 commit e718eb8

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
) {
@@ -279,21 +279,21 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
279279
Res::Def(self.r.tcx.def_kind(def_id), def_id)
280280
}
281281

282-
fn resolve_visibility(&mut self, vis: &ast::Visibility) -> ty::Visibility {
282+
fn resolve_visibility(&mut self, vis: &ast::Visibility) -> Visibility {
283283
self.try_resolve_visibility(vis, true).unwrap_or_else(|err| {
284284
self.r.report_vis_error(err);
285-
ty::Visibility::Public
285+
Visibility::Public
286286
})
287287
}
288288

289289
fn try_resolve_visibility<'ast>(
290290
&mut self,
291291
vis: &'ast ast::Visibility,
292292
finalize: bool,
293-
) -> Result<ty::Visibility, VisResolutionError<'ast>> {
293+
) -> Result<Visibility, VisResolutionError<'ast>> {
294294
let parent_scope = &self.parent_scope;
295295
match vis.kind {
296-
ast::VisibilityKind::Public => Ok(ty::Visibility::Public),
296+
ast::VisibilityKind::Public => Ok(Visibility::Public),
297297
ast::VisibilityKind::Inherited => {
298298
Ok(match self.parent_scope.module.kind {
299299
// Any inherited visibility resolved directly inside an enum or trait
@@ -303,7 +303,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
303303
self.r.tcx.visibility(def_id).expect_local()
304304
}
305305
// Otherwise, the visibility is restricted to the nearest parent `mod` item.
306-
_ => ty::Visibility::Restricted(
306+
_ => Visibility::Restricted(
307307
self.parent_scope.module.nearest_parent_mod().expect_local(),
308308
),
309309
})
@@ -351,9 +351,9 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
351351
}
352352
if module.is_normal() {
353353
match res {
354-
Res::Err => Ok(ty::Visibility::Public),
354+
Res::Err => Ok(Visibility::Public),
355355
_ => {
356-
let vis = ty::Visibility::Restricted(res.def_id());
356+
let vis = Visibility::Restricted(res.def_id());
357357
if self.r.is_accessible_from(vis, parent_scope.module) {
358358
Ok(vis.expect_local())
359359
} else {
@@ -418,7 +418,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
418418
item: &ast::Item,
419419
root_span: Span,
420420
root_id: NodeId,
421-
vis: ty::Visibility,
421+
vis: Visibility,
422422
) {
423423
let current_module = self.parent_scope.module;
424424
let import = self.r.arenas.alloc_import(ImportData {
@@ -466,7 +466,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
466466
list_stem: bool,
467467
// The whole `use` item
468468
item: &Item,
469-
vis: ty::Visibility,
469+
vis: Visibility,
470470
root_span: Span,
471471
) {
472472
debug!(
@@ -684,7 +684,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
684684
true,
685685
// The whole `use` item
686686
item,
687-
ty::Visibility::Restricted(
687+
Visibility::Restricted(
688688
self.parent_scope.module.nearest_parent_mod().expect_local(),
689689
),
690690
root_span,
@@ -700,7 +700,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
700700
ident: Ident,
701701
feed: Feed<'tcx, LocalDefId>,
702702
adt_res: Res,
703-
adt_vis: ty::Visibility,
703+
adt_vis: Visibility,
704704
adt_span: Span,
705705
) {
706706
let parent_scope = &self.parent_scope;
@@ -825,7 +825,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
825825
let mut ctor_vis = if vis.is_public()
826826
&& ast::attr::contains_name(&item.attrs, sym::non_exhaustive)
827827
{
828-
ty::Visibility::Restricted(CRATE_DEF_ID)
828+
Visibility::Restricted(CRATE_DEF_ID)
829829
} else {
830830
vis
831831
};
@@ -838,7 +838,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
838838
// constructor visibility should still be determined correctly.
839839
let field_vis = self
840840
.try_resolve_visibility(&field.vis, false)
841-
.unwrap_or(ty::Visibility::Public);
841+
.unwrap_or(Visibility::Public);
842842
if ctor_vis.is_at_least(field_vis, self.r.tcx) {
843843
ctor_vis = field_vis;
844844
}
@@ -887,7 +887,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
887887
item: &Item,
888888
ident: Ident,
889889
local_def_id: LocalDefId,
890-
vis: ty::Visibility,
890+
vis: Visibility,
891891
parent: Module<'ra>,
892892
) {
893893
let sp = item.span;
@@ -1071,7 +1071,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
10711071
root_span: span,
10721072
span,
10731073
module_path: Vec::new(),
1074-
vis: ty::Visibility::Restricted(CRATE_DEF_ID),
1074+
vis: Visibility::Restricted(CRATE_DEF_ID),
10751075
})
10761076
};
10771077

@@ -1221,9 +1221,9 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
12211221
self.r.macro_names.insert(ident);
12221222
let is_macro_export = ast::attr::contains_name(&item.attrs, sym::macro_export);
12231223
let vis = if is_macro_export {
1224-
ty::Visibility::Public
1224+
Visibility::Public
12251225
} else {
1226-
ty::Visibility::Restricted(CRATE_DEF_ID)
1226+
Visibility::Restricted(CRATE_DEF_ID)
12271227
};
12281228
let binding = self.r.arenas.new_res_binding(res, vis.to_def_id(), span, expansion);
12291229
self.r.set_binding_parent_module(binding, parent_scope.module);
@@ -1265,7 +1265,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
12651265
// Visibilities must not be resolved non-speculatively twice
12661266
// and we already resolved this one as a `fn` item visibility.
12671267
ItemKind::Fn(..) => {
1268-
self.try_resolve_visibility(&item.vis, false).unwrap_or(ty::Visibility::Public)
1268+
self.try_resolve_visibility(&item.vis, false).unwrap_or(Visibility::Public)
12691269
}
12701270
_ => self.resolve_visibility(&item.vis),
12711271
};
@@ -1499,7 +1499,7 @@ impl<'a, 'ra, 'tcx> Visitor<'a> for BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
14991499
// If the variant is marked as non_exhaustive then lower the visibility to within the crate.
15001500
let ctor_vis =
15011501
if vis.is_public() && ast::attr::contains_name(&variant.attrs, sym::non_exhaustive) {
1502-
ty::Visibility::Restricted(CRATE_DEF_ID)
1502+
Visibility::Restricted(CRATE_DEF_ID)
15031503
} else {
15041504
vis
15051505
};

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,
@@ -74,7 +75,7 @@ pub(crate) enum ImportKind<'ra> {
7475
is_prelude: bool,
7576
// The visibility of the greatest re-export.
7677
// n.b. `max_vis` is only used in `finalize_import` to check for re-export errors.
77-
max_vis: Cell<Option<ty::Visibility>>,
78+
max_vis: Cell<Option<Visibility>>,
7879
id: NodeId,
7980
},
8081
ExternCrate {
@@ -183,7 +184,7 @@ pub(crate) struct ImportData<'ra> {
183184
/// |`use ::foo` | `ModuleOrUniformRoot::CrateRootAndExternPrelude` | a special case in 2015 edition |
184185
/// |`use foo` | `ModuleOrUniformRoot::CurrentScope` | - |
185186
pub imported_module: Cell<Option<ModuleOrUniformRoot<'ra>>>,
186-
pub vis: ty::Visibility,
187+
pub vis: Visibility,
187188
}
188189

189190
/// All imports are unique and allocated on a same arena,
@@ -1272,7 +1273,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
12721273

12731274
if !binding.vis.is_at_least(import.vis, this.tcx) {
12741275
reexport_error = Some((ns, binding));
1275-
if let ty::Visibility::Restricted(binding_def_id) = binding.vis
1276+
if let Visibility::Restricted(binding_def_id) = binding.vis
12761277
&& binding_def_id.is_top_level_module()
12771278
{
12781279
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<'_> {
@@ -3461,7 +3461,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
34613461
span,
34623462
"error should be emitted when an unexpected trait item is used",
34633463
);
3464-
rustc_middle::ty::Visibility::Public
3464+
Visibility::Public
34653465
};
34663466
this.r.feed_visibility(this.r.feed(id), vis);
34673467
};

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,
@@ -1076,7 +1076,7 @@ pub struct Resolver<'ra, 'tcx> {
10761076
/// Maps glob imports to the names of items actually imported.
10771077
glob_map: FxIndexMap<LocalDefId, FxIndexSet<Symbol>>,
10781078
glob_error: Option<ErrorGuaranteed>,
1079-
visibilities_for_hashing: Vec<(LocalDefId, ty::Visibility)>,
1079+
visibilities_for_hashing: Vec<(LocalDefId, Visibility)>,
10801080
used_imports: FxHashSet<NodeId>,
10811081
maybe_unused_trait_imports: FxIndexSet<LocalDefId>,
10821082

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

11521152
lint_buffer: LintBuffer,
11531153

@@ -1223,7 +1223,7 @@ impl<'ra> ResolverArenas<'ra> {
12231223
fn new_res_binding(
12241224
&'ra self,
12251225
res: Res,
1226-
vis: ty::Visibility<DefId>,
1226+
vis: Visibility<DefId>,
12271227
span: Span,
12281228
expansion: LocalExpnId,
12291229
) -> NameBinding<'ra> {
@@ -1588,7 +1588,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
15881588

15891589
let root_parent_scope = ParentScope::module(graph_root, &resolver);
15901590
resolver.invocation_parent_scopes.insert(LocalExpnId::ROOT, root_parent_scope);
1591-
resolver.feed_visibility(crate_feed, ty::Visibility::Public);
1591+
resolver.feed_visibility(crate_feed, Visibility::Public);
15921592

15931593
resolver
15941594
}
@@ -1636,7 +1636,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
16361636
Default::default()
16371637
}
16381638

1639-
fn feed_visibility(&mut self, feed: Feed<'tcx, LocalDefId>, vis: ty::Visibility) {
1639+
fn feed_visibility(&mut self, feed: Feed<'tcx, LocalDefId>, vis: Visibility) {
16401640
let feed = feed.upgrade(self.tcx);
16411641
feed.visibility(vis.to_def_id());
16421642
self.visibilities_for_hashing.push((feed.def_id(), vis));
@@ -2088,11 +2088,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
20882088
self.pat_span_map.insert(node, span);
20892089
}
20902090

2091-
fn is_accessible_from(
2092-
&self,
2093-
vis: ty::Visibility<impl Into<DefId>>,
2094-
module: Module<'ra>,
2095-
) -> bool {
2091+
fn is_accessible_from(&self, vis: Visibility<impl Into<DefId>>, module: Module<'ra>) -> bool {
20962092
vis.is_accessible_from(module.nearest_parent_mod(), self.tcx)
20972093
}
20982094

0 commit comments

Comments
 (0)