-
Notifications
You must be signed in to change notification settings - Fork 923
Meta: make tidy parity #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Performance might also be an issue. In the case where we don't modify anything, we should be pretty fast - i.e., ballpark with Alternatively, we could skip checking files which have not changed at all since the last check. But that would require keeping metadata around, and could break easily because multi-user time is hard. We might just need to optimise a lot too. |
TODO list
|
The first big goal for rustfmt should be parity with
make tidy
, i.e., we do all the checks thatmake 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.The text was updated successfully, but these errors were encountered: