Skip to content

Allow setting bans.multiple-versions to level 'note' #796

@ojob

Description

@ojob

Is your feature request related to a problem? Please describe.

I develop a small-size project at work, that then runs as a service on a server. Hence, compile-time and binary size are of no concern, and I can leave with duplicate dependencies.

Currently, the output of cargo deny check looks like the following:

(...  many rows before ...)
warning[duplicate]: found 2 duplicate entries for crate 'zerovec-derive'
    ┌─ /home/joel/si-interne/pdfg/Cargo.lock:368:1
    │  
368 │ ╭ zerovec-derive 0.10.3 registry+https://github.com/rust-lang/crates.io-index
369 │ │ zerovec-derive 0.11.1 registry+https://github.com/rust-lang/crates.io-index
    │ ╰───────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ zerovec-derive v0.10.3
      └── zerovec v0.10.4
          ├── icu_collections v1.5.0
          │  (... etc ...)

 advisories ok: 0 errors, 0 warnings, 0 notes
       bans ok: 0 errors, 32 warnings, 0 notes
   licenses ok: 0 errors, 0 warnings, 384 notes
    sources ok: 0 errors, 0 warnings, 0 notes

This is a lot of interesting stuff, but as it’s OK to keep these duplicates for now, I would prefer not to have them reported as warnings, in particular as CI artifact that is recorded for audits.

So I tried to change the setting of deny.toml bans.multiple-versions to note / info / notice, but this is not permitted:

error[unexpected-value]: expected '["allow", "warn", "deny"]'
    ┌─ /home/joel/si-interne/pdfg/Cargo-deny.toml:168:22
    │
168 │ multiple-versions = "notice"
    │                      ━━━━━━ unexpected value

So it appears that duplicates are either errors, warnings, or untold; there seems to be no way to report them as notes, even if this level exists in final statistics.

Describe the solution you'd like

Allow setting deny.toml bans.multiple-versions to note level, so that these are reported as interesting-but-not-problematic in the statistics.

Describe alternatives you've considered

Setting bans.multiple-versions to allow just hide the duplicates’ statistics. So instead of being kind of a false alarm, I just lose the information.

Additional context

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions