[Github issue](https://github.com/rust-lang/cargo/issues/12235) # Implicit features - [x] ~~Should we have a transitional note that implicit features are no longer supported? ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538069793))~~ - [ ] If we stabilize lints table, move to warning (note the msrv bump when fixing), else only warn based on msrv - [x] ~~This message doesn't make sense pre-2024 ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538064376))~~ - [x] ~~We're only making this `Deny` for 2024? That means people can override this to allow it. If they do, we should make sure that the dependency truly is unused and doesn't create a feature. ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538067199))~~ - [x] ~~Cargo fix migration~~ # Lints ## Design - [x] ~~Why is `Allow` translating to `Note`. We shouldn't be showing `Allow` ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538062041))~~ - [x] ~~We should verify this handles `Forbid` correctly ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538068608))~~ - [x] ~~rustc/clippy lints display the lint name (and where the level was set) on first instance of it being reported ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538083667))~~ - [x] ~~We need a test to ensure this is subject to cap-lints ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538154508))~~ - No longer needed see [#13833](https://github.com/rust-lang/cargo/pull/13833) ~~We need to strip `lints.cargo` before we publish ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538254969))~~ - ~~To avoid MSRV bumps~~ - Would it be possible to update `unstable.md` with documentation about this feature? ([comment](https://github.com/rust-lang/cargo/pull/13621#issuecomment-2021285899)) - Also, is [#12235](https://github.com/rust-lang/cargo/issues/12235) the main tracking issue for what needs to be done next? Is there an outline of what steps need to be taken? - [x] ~~Workspace inheritance for cargo lints needs tested~~ - [x] ~~`im-a-teapot` needs a permenantly unstable lint [comment](https://github.com/rust-lang/cargo/pull/13797#discussion_r1578162057)~~ - Stabilize lints table Non-blocking - Suggestions - ~~`unknown_lints`~~ - `all` group - any groups - Do we document anywhere the status of the `warnings` group? ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538061102)) - Note: even if we don't support the group in `[lints]`, we'd need to be able to support it in the future with [#8424](https://github.com/rust-lang/cargo/issues/8424). ## Bugs Non-blocking - [non-blocking build error reported in example code](https://github.com/rust-lang/cargo/issues/13724) ## Implementation Non-blocking - nit: please put the focus of the file (what comes first) on the API and not the implementation details ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538058187)) - imo its a bit messy to shove lint implementations in here just because they are lints. This body should live where its called ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538059011)) - These needs documentation, especially around how arrays are handled ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538059344)) - ditto, this belongs at the end of the file - `String` in this is suspect. Should this have `display` in the name? Or should we try to switch to `camino`? ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538060262)) - Should we have an `is_error` function? ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538063465)) - None of our other UI tests nest this deeply ([comment](https://github.com/rust-lang/cargo/pull/13621#discussion_r1538065181))