EmbarkStudios / cargo-deny

❌ Cargo plugin for linting your dependencies 🦀
http://embark.rs
Apache License 2.0
1.71k stars 83 forks source link

Confusing error message with a license in both allow and deny #600

Closed SimSmith closed 8 months ago

SimSmith commented 8 months ago

Describe the bug

When I put a license (e.g. "MIT") in both allow and deny, I get this error:

error: a license id was specified in both `allow` and `deny`
    ┌─ C:\...\deny.toml:104:5
    │
104 │     "CC0-1.0",
    │     --------- allow
    ·
117 │     "AGPL-3.0",
    │     ---------- deny

I would expect it to show "MIT" in both places instead of the last license in deny and the same place in allow.

To reproduce

Put this in deny.toml and run cargo deny check to get the same error:

[licenses]
allow = [
    "MIT",
    "Apache-2.0",
    "BSD-3-Clause",
    "ISC",
    "CC0-1.0",
    "Unicode-DFS-2016",
]
deny = [
   "MIT",
    "GPL-1.0",
    "GPL-2.0",
    "GPL-3.0",
    "AGPL-3.0",
]

But the error looks better if the licenses are on the same line.

cargo-deny version

cargo-deny 0.14.11

What OS were you running cargo-deny on?

Windows

Additional context

No response