heroku / libcnb.rs

A framework for writing Cloud Native Buildpacks in Rust
BSD 3-Clause "New" or "Revised" License
34 stars 6 forks source link

Switch to workspace based lint configuration #747

Closed edmorley closed 9 months ago

edmorley commented 9 months ago

As of the Cargo included in Rust 1.74, lints can now be configured in Cargo.toml across whole crates/workspaces: https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html https://doc.rust-lang.org/stable/cargo/reference/manifest.html#the-lints-section https://doc.rust-lang.org/stable/cargo/reference/workspaces.html#the-lints-table

This reduces the boilerplate, and the chance that we forget to enable lints in some targets. The only thing we need to remember is to add the [lints] workspace = true to any new crates in the future.

Making this switch exposed a few places where lints weren't enabled and issues had been missed, eg: https://github.com/heroku/libcnb.rs/issues/746

Since this feature requires Rust 1.74, the MSRV has also been bumped. (Though we will have had to do so soon anyway to be able to start using Result::inspect_err, which is due in Rust 1.76, xref: https://github.com/heroku/libcnb.rs/pull/723#discussion_r1387095456)

GUS-W-14511805.

Malax commented 9 months ago

Woohoo! :)