Skip to content

Meta: make tidy parity #20

Closed
Closed
@nrc

Description

@nrc

The first big goal for rustfmt should be parity with make tidy, i.e., we do all the checks that make tidy does and is usable as part of the rust distro build process. This needs three things - feature parity, non-bugginess and configurability.

Feature parity

Need to find out exactly what make tidy does, but things that come to mind are: warnings on cfg(stage0), checking for TODO, checking licenses.

Non-bugginess

In order to be part of the build process, we need to be able to run rustfmt on the whole repo without breaking anything. This will need lots of testing and some big PRs to the Rust repo for the initial reformatting.

To make this tractable, we'll want to turn rustfmt on one crate at a time and keep the make tidy step until the end (it might make sense to keep make tidy forever for the test suite, although it would be nice to kill it.

Configurability

There will be bugs, we need to be able to turn rustfmt off for some sections of a file until rustfmt can be fixed. We'll also want to evolve rustfmt (make tidy parity does not (and should not) require all formatting rules are enforced, and we'll want to add more rules as time goes by), we'll want to be able to feature gate some features of rustfmt so that they can be tested without applying to the rust repo or forking rustfmt.

We'll also need configurability for some of the make tidy features, for example license checking, since different projects will have different licences.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions