Skip to content

Commit 2e358e6

Browse files
committed
Add warn(unreachable_pub) to rustc_trait_selection.
1 parent c4f6f52 commit 2e358e6

File tree

6 files changed

+17
-16
lines changed

6 files changed

+17
-16
lines changed

Diff for: compiler/rustc_trait_selection/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#![feature(unwrap_infallible)]
3333
#![feature(yeet_expr)]
3434
#![recursion_limit = "512"] // For rustdoc
35+
#![warn(unreachable_pub)] // For rustdoc
3536
// tidy-alphabetical-end
3637

3738
pub mod error_reporting;

Diff for: compiler/rustc_trait_selection/src/traits/coherence.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub fn add_placeholder_note<G: EmissionGuarantee>(err: &mut Diag<'_, G>) {
5454
);
5555
}
5656

57-
pub fn suggest_increasing_recursion_limit<'tcx, G: EmissionGuarantee>(
57+
pub(crate) fn suggest_increasing_recursion_limit<'tcx, G: EmissionGuarantee>(
5858
tcx: TyCtxt<'tcx>,
5959
err: &mut Diag<'_, G>,
6060
overflowing_predicates: &[ty::Predicate<'tcx>],

Diff for: compiler/rustc_trait_selection/src/traits/object_safety.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ use tracing::{debug, instrument};
2929
use super::elaborate;
3030
use crate::infer::TyCtxtInferExt;
3131
use crate::traits::query::evaluate_obligation::InferCtxtExt;
32-
use crate::traits::{util, Obligation, ObligationCause};
33-
pub use crate::traits::{MethodViolationCode, ObjectSafetyViolation};
32+
pub use crate::traits::ObjectSafetyViolation;
33+
use crate::traits::{util, MethodViolationCode, Obligation, ObligationCause};
3434

3535
/// Returns the object safety violations that affect HIR ty lowering.
3636
///
@@ -512,7 +512,7 @@ fn virtual_call_violations_for_method<'tcx>(
512512
///
513513
/// This check is outlined from the object safety check to avoid cycles with
514514
/// layout computation, which relies on knowing whether methods are object safe.
515-
pub fn check_receiver_correct<'tcx>(tcx: TyCtxt<'tcx>, trait_def_id: DefId, method: ty::AssocItem) {
515+
fn check_receiver_correct<'tcx>(tcx: TyCtxt<'tcx>, trait_def_id: DefId, method: ty::AssocItem) {
516516
if !is_vtable_safe_method(tcx, trait_def_id, method) {
517517
return;
518518
}
@@ -906,7 +906,7 @@ impl<'tcx> TypeFolder<TyCtxt<'tcx>> for EraseEscapingBoundRegions<'tcx> {
906906
}
907907
}
908908

909-
pub fn contains_illegal_impl_trait_in_trait<'tcx>(
909+
fn contains_illegal_impl_trait_in_trait<'tcx>(
910910
tcx: TyCtxt<'tcx>,
911911
fn_def_id: DefId,
912912
ty: ty::Binder<'tcx, Ty<'tcx>>,
@@ -930,7 +930,7 @@ pub fn contains_illegal_impl_trait_in_trait<'tcx>(
930930
})
931931
}
932932

933-
pub fn provide(providers: &mut Providers) {
933+
pub(crate) fn provide(providers: &mut Providers) {
934934
*providers = Providers {
935935
object_safety_violations,
936936
is_object_safe,

Diff for: compiler/rustc_trait_selection/src/traits/select/_match.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ use tracing::instrument;
2121
/// Like subtyping, matching is really a binary relation, so the only
2222
/// important thing about the result is Ok/Err. Also, matching never
2323
/// affects any type variables or unification state.
24-
pub struct MatchAgainstFreshVars<'tcx> {
24+
pub(crate) struct MatchAgainstFreshVars<'tcx> {
2525
tcx: TyCtxt<'tcx>,
2626
}
2727

2828
impl<'tcx> MatchAgainstFreshVars<'tcx> {
29-
pub fn new(tcx: TyCtxt<'tcx>) -> MatchAgainstFreshVars<'tcx> {
29+
pub(crate) fn new(tcx: TyCtxt<'tcx>) -> MatchAgainstFreshVars<'tcx> {
3030
MatchAgainstFreshVars { tcx }
3131
}
3232
}

Diff for: compiler/rustc_trait_selection/src/traits/select/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3127,7 +3127,7 @@ impl<'o, 'tcx> fmt::Debug for TraitObligationStack<'o, 'tcx> {
31273127
}
31283128
}
31293129

3130-
pub enum ProjectionMatchesProjection {
3130+
pub(crate) enum ProjectionMatchesProjection {
31313131
Yes,
31323132
Ambiguous,
31333133
No,

Diff for: compiler/rustc_trait_selection/src/traits/util.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ impl<'tcx> Iterator for TraitAliasExpander<'tcx> {
169169
/// Instantiate all bound parameters of the impl subject with the given args,
170170
/// returning the resulting subject and all obligations that arise.
171171
/// The obligations are closed under normalization.
172-
pub fn impl_subject_and_oblig<'a, 'tcx>(
172+
pub(crate) fn impl_subject_and_oblig<'a, 'tcx>(
173173
selcx: &SelectionContext<'a, 'tcx>,
174174
param_env: ty::ParamEnv<'tcx>,
175175
impl_def_id: DefId,
@@ -209,7 +209,7 @@ pub fn upcast_choices<'tcx>(
209209
supertraits(tcx, source_trait_ref).filter(|r| r.def_id() == target_trait_def_id).collect()
210210
}
211211

212-
pub fn closure_trait_ref_and_return_type<'tcx>(
212+
pub(crate) fn closure_trait_ref_and_return_type<'tcx>(
213213
tcx: TyCtxt<'tcx>,
214214
fn_trait_def_id: DefId,
215215
self_ty: Ty<'tcx>,
@@ -238,7 +238,7 @@ pub fn closure_trait_ref_and_return_type<'tcx>(
238238
sig.map_bound(|sig| (trait_ref, sig.output()))
239239
}
240240

241-
pub fn coroutine_trait_ref_and_outputs<'tcx>(
241+
pub(crate) fn coroutine_trait_ref_and_outputs<'tcx>(
242242
tcx: TyCtxt<'tcx>,
243243
fn_trait_def_id: DefId,
244244
self_ty: Ty<'tcx>,
@@ -249,7 +249,7 @@ pub fn coroutine_trait_ref_and_outputs<'tcx>(
249249
(trait_ref, sig.yield_ty, sig.return_ty)
250250
}
251251

252-
pub fn future_trait_ref_and_outputs<'tcx>(
252+
pub(crate) fn future_trait_ref_and_outputs<'tcx>(
253253
tcx: TyCtxt<'tcx>,
254254
fn_trait_def_id: DefId,
255255
self_ty: Ty<'tcx>,
@@ -260,7 +260,7 @@ pub fn future_trait_ref_and_outputs<'tcx>(
260260
(trait_ref, sig.return_ty)
261261
}
262262

263-
pub fn iterator_trait_ref_and_outputs<'tcx>(
263+
pub(crate) fn iterator_trait_ref_and_outputs<'tcx>(
264264
tcx: TyCtxt<'tcx>,
265265
iterator_def_id: DefId,
266266
self_ty: Ty<'tcx>,
@@ -271,7 +271,7 @@ pub fn iterator_trait_ref_and_outputs<'tcx>(
271271
(trait_ref, sig.yield_ty)
272272
}
273273

274-
pub fn async_iterator_trait_ref_and_outputs<'tcx>(
274+
pub(crate) fn async_iterator_trait_ref_and_outputs<'tcx>(
275275
tcx: TyCtxt<'tcx>,
276276
async_iterator_def_id: DefId,
277277
self_ty: Ty<'tcx>,
@@ -287,7 +287,7 @@ pub fn impl_item_is_final(tcx: TyCtxt<'_>, assoc_item: &ty::AssocItem) -> bool {
287287
&& tcx.defaultness(assoc_item.container_id(tcx)).is_final()
288288
}
289289

290-
pub enum TupleArgumentsFlag {
290+
pub(crate) enum TupleArgumentsFlag {
291291
Yes,
292292
No,
293293
}

0 commit comments

Comments
 (0)