Skip to content

Remove unused dependencies: qrcode, strum, strum_macros #191

Description

@dobby-coder

Problem

Three dependencies are declared in Cargo.toml but are never used anywhere in the crate:

  • qrcode = "0.14.1"Cargo.toml:19
  • strum = "0.28.0"Cargo.toml:24
  • strum_macros = "0.28.0"Cargo.toml:25

A full-tree search finds no references to any of them:

$ grep -rn "qrcode\|QrCode\|strum\|EnumIter\|EnumString" src/ build.rs templates/
(no matches)

They appear only as their own [[package]] entries in Cargo.lock (i.e. pulled in solely as direct dependencies, not transitively required by anything else in the tree).

Why it matters

Unused dependencies add compile time and enlarge the supply-chain surface without providing any value. qrcode in particular pulls in its own subtree. Removing them keeps the dependency set honest.

Fix

Delete the three lines from Cargo.toml and regenerate the lockfile:

  • Remove qrcode, strum, and strum_macros from [dependencies].
  • Run cargo build so Cargo.lock is updated (the three [[package]] entries, and any now-orphaned transitive entries, should disappear).
  • Confirm the CI quality gate still passes locally: cargo fmt --all -- --check, cargo clippy --all-targets -- -D warnings, cargo test --all-targets.

If it turns out any of the three is genuinely required (e.g. a planned QR-code feature), leave that one in place and note it, but the current tree shows no usage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filerustPull requests that update Rust code

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions