Skip to content

Enforce import / type code styles throughout the compiler. #59952

Closed
@eddyb

Description

@eddyb

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions