---
# System prepended metadata

title: Implicit features

---

[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))

