Closed
Description
We've had a few large-scale cleanup PRs before, but it doesn't always stick.
This is a quick example of what I'm referring to (as the agreed-upon style):
use rustc::ty::{Ty, TyCtxt};
fn foo(tcx: TyCtxt<'_, '_, 'tcx>, ty: Ty<'tcx>) {...}
TyCtxt
and Ty
are referred to unqualified (without ty::
) and passed by value.
(Note that types can be behind &
due to a trait, but that should be the only exception to the rule)
Currently both &TyCtxt
and &Ty<'tcx>
show up in the codebase (although in small quantities), but I only accidentally noticed and I won't be replacing them any time soon (someone else can, if they want to, but I'm more interested in how we keep this from happening - maybe with clippy
?).
cc @rust-lang/compiler