v0.15.0
What's Changed
-
Added 11 new lints:
constructible_struct_adds_field
constructible_struct_adds_private_field
enum_struct_variant_field_added
function_const_removed
function_unsafe_added
inherent_method_const_removed
inherent_method_unsafe_added
trait_missing
trait_unsafe_added
trait_unsafe_removed
tuple_struct_to_plain_struct
-
Eliminated false-positives in 3 lints:
struct_missing
: "Struct missing" lint shouldn't care about the kind of struct. by @obi1kenobi in #218struct_marked_non_exhaustive
: Document private items to fix non-exhaustive false-positives. by @obi1kenobi in #222method_parameter_count_changed
: Do not report removed methods as changing their number of parameters. by @obi1kenobi in #220
-
Eliminated false-negatives in 5 lints
-
Support for rustdoc JSON format v24, the most recent nightly version as of this release
- via updated dependency on
trustfall_rustdoc
- via updated dependency on
-
Prebuilt binaries now available
- Upload binaries to github release in actions by @staniewzki in #208
-
Other bugfixes
- Exclude yanked releases when choosing baseline version by @mgr0dzicki in #255
- Bugfix of printed baseline version when ran on given Manifest by @tonowak in #248
- Fix for rustdoc no longer inlining foreign traits, including built-in traits — via updated dependency on
trustfall-rustdoc
-
Internal improvements
- A massive revamp of the test suite, led by @tonowak. This is what allowed us to build so many new lints in so little time.
- Streamlined workflow for adding new lints: just run
scripts/make_new_lint.sh <new-lint-name>
to generate all needed stubs
New Contributors
All Merged PRs
- Add Rust caching steps to a few more test stages. by @obi1kenobi in #212
- Suggest installing with
--locked
in the README by @obi1kenobi in #213 - Updated
CONTRIBUTING.md
after the test directory renames by @tonowak in #216 - One macro to include lints by @tonowak in #204
- Split each source code in test_crates/ into pair of crates by @tonowak in #203
- Eliminate new lints raised by new clippy version. by @obi1kenobi in #219
- Do not report removed methods as changing their number of parameters. by @obi1kenobi in #220
- "Struct missing" lint shouldn't care about the kind of struct. by @obi1kenobi in #218
- Document private items to fix non-exhaustive false-positives. by @obi1kenobi in #222
- Remove accidentally-committed dead code. by @obi1kenobi in #221
- Add lints for removing
const
from functions and methods. by @obi1kenobi in #224 - Ignore directories in test_crates that don't have Cargo.toml. by @obi1kenobi in #228
- Ensure
inherent_method_const_removed
disregards method deletions. by @obi1kenobi in #227 - Add lints for adding
unsafe
to methods and functions. by @obi1kenobi in #226 - Protect against more possible false-positives in the const/unsafe lints. by @obi1kenobi in #229
- Upload binaries to github release in actions by @staniewzki in #208
- Add the
trait_missing
lint. by @obi1kenobi in #230 - Add lints for structs that are no longer externally-constructible as before. by @obi1kenobi in #233
- Ensure the lint files are part of the binary file itself. by @obi1kenobi in #234
- Add script for creating everything needed to add a new lint. by @obi1kenobi in #236
- Make the "new lint" script idempotent for each step separately. by @obi1kenobi in #237
- Add lint for exhaustive struct variants gaining new fields. by @obi1kenobi in #238
- Minor polish items for the
make_new_lint.sh
script. by @obi1kenobi in #239 - Run lints on nonchanged crates by @tonowak in #206
- Clippy lint "variables can be used directly in the
format!
string" by @tonowak in #244 - Bugfix of printed baseline version when ran on given Manifest by @tonowak in #248
- Run cargo build and test built binary to ensure it works by @tonowak in #246
- Describe the new more-automated process for adding new lints. by @obi1kenobi in #240
- Make the make_new_lint.sh script executable. by @obi1kenobi in #251
- New lint: exhaustive tuple struct changed to plain struct by @staniewzki in #249
- Exclude yanked releases when choosing baseline version by @mgr0dzicki in #255
- New schema for attributes by @SmolSir in #171
- Generate CI test rustdocs with the toolchain being tested. by @obi1kenobi in #245
- New lints: Trait becomes/stops being unsafe by @staniewzki in #252
- Release v0.15.0 with 11 new lints and support for latest nightly. by @obi1kenobi in #258
Full Changelog: v0.14.0...v0.15.0