heroku / buildpacks-ruby

Heroku's Cloud Native Buildpack for Ruby applications.
BSD 3-Clause "New" or "Revised" License
1 stars 1 forks source link

Switch to Cargo.toml based lint configuration #239

Closed edmorley closed 11 months ago

edmorley commented 11 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, which have been fixed now.

Since this feature requires Rust 1.74, the MSRV has also been bumped (however, libcnb 0.16.0 already requires Rust 1.74, so in practice this is a no-op).

GUS-W-14523799.