diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-12-01 12:23:16 +1100 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-12-02 13:59:28 +1100 |
| commit | 357aee932075d92b45f16c4c05c83b502727607d (patch) | |
| tree | 649403ce84cc6b2844b36839a7a2f8eafd64b86c | |
| parent | 0e4f55d63f84d86f856aa60786823e72083f40eb (diff) | |
| download | rust-357aee932075d92b45f16c4c05c83b502727607d.tar.gz rust-357aee932075d92b45f16c4c05c83b502727607d.zip | |
Inline and remove `late_lint_pass_crate`.
It has a single call site.
| -rw-r--r-- | compiler/rustc_lint/src/late.rs | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/compiler/rustc_lint/src/late.rs b/compiler/rustc_lint/src/late.rs index 6a22c87cf56..34828ef5546 100644 --- a/compiler/rustc_lint/src/late.rs +++ b/compiler/rustc_lint/src/late.rs @@ -326,7 +326,7 @@ macro_rules! late_lint_pass_impl { crate::late_lint_methods!(late_lint_pass_impl, [], ['tcx]); -pub fn late_lint_mod<'tcx, T: LateLintPass<'tcx> + 'tcx>( +pub(super) fn late_lint_mod<'tcx, T: LateLintPass<'tcx> + 'tcx>( tcx: TyCtxt<'tcx>, module_def_id: LocalDefId, builtin_lints: T, @@ -361,26 +361,29 @@ pub fn late_lint_mod<'tcx, T: LateLintPass<'tcx> + 'tcx>( } } -fn late_lint_pass_crate<'tcx, T: LateLintPass<'tcx>>(tcx: TyCtxt<'tcx>, pass: T) { - let effective_visibilities = &tcx.effective_visibilities(()); - +fn late_lint_crate<'tcx, T: LateLintPass<'tcx> + 'tcx>(tcx: TyCtxt<'tcx>, builtin_lints: T) { let context = LateContext { tcx, enclosing_body: None, cached_typeck_results: Cell::new(None), param_env: ty::ParamEnv::empty(), - effective_visibilities, + effective_visibilities: &tcx.effective_visibilities(()), lint_store: unerased_lint_store(tcx), last_node_with_lint_attrs: hir::CRATE_HIR_ID, generics: None, only_module: false, }; + let mut passes = + unerased_lint_store(tcx).late_passes.iter().map(|p| (p)(tcx)).collect::<Vec<_>>(); + passes.push(Box::new(builtin_lints)); + let pass = LateLintPassObjects { lints: &mut passes[..] }; + let mut cx = LateContextAndPass { context, pass }; // Visit the whole crate. cx.with_lint_attrs(hir::CRATE_HIR_ID, |cx| { - // since the root module isn't visited as an item (because it isn't an + // Since the root module isn't visited as an item (because it isn't an // item), warn for it here. lint_callback!(cx, check_crate,); tcx.hir().walk_toplevel_module(cx); @@ -389,14 +392,6 @@ fn late_lint_pass_crate<'tcx, T: LateLintPass<'tcx>>(tcx: TyCtxt<'tcx>, pass: T) }) } -fn late_lint_crate<'tcx, T: LateLintPass<'tcx> + 'tcx>(tcx: TyCtxt<'tcx>, builtin_lints: T) { - let mut passes = - unerased_lint_store(tcx).late_passes.iter().map(|p| (p)(tcx)).collect::<Vec<_>>(); - passes.push(Box::new(builtin_lints)); - - late_lint_pass_crate(tcx, LateLintPassObjects { lints: &mut passes[..] }); -} - /// Performs lint checking on a crate. pub fn check_crate<'tcx, T: LateLintPass<'tcx> + 'tcx>( tcx: TyCtxt<'tcx>, |
