Bans diagnostics

banned

A crate which is explicitly banned was detected.

allowed

A crate which is explicitly allowed was detected.

not-allowed

When using bans.allow, a crate was detected that wasn't in that list.

duplicate

One or more duplicate versions of the same crate were detected.

skipped

A crate version that matched an entry in bans.skip was encountered.

wildcard

A crate was included via a wildcard dependency by one or more crates.

unmatched-skip

A crate version in bans.skip was not encountered.

allowed-by-wrapper

A crate in bans.deny was allowed since it was directly depended on by a wrappers crate.

unmatched-wrapper

A crate in bans.deny had one or more wrappers crates, but a crate not in that list had a direct dependency on the banned crate.

skipped-by-root

A crate was skipped from being checked as a duplicate due to being transitively referenced by a crate version in bans.skip-tree.

unmatched-root

A crate version in bans.skip-tree was not encountered.

build-script-not-allowed

A crate which has been denied because it has a build script but is not part of the bans.allow-build-script list.

exact-features-mismatch

A crate's features do not exactly match the configured feature set, and bans.features.exact is true.

feature-banned

An enabled crate feature is present in the bans.features.deny list.

unknown-feature

A feature in either bans.features.deny or bans.features.allow does not exist for the crate.

default-feature-enabled

The default feature was enabled on a crate, and the bans.external-default-features or bans.workspace-default-features was configured.