embedded-graphics / embedded-graphics/embedded-graphics

`az` version limit conflicts with next version of `embassy-rp`

Open Beginner friendly
#825 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.3k
Forks
132
PR merge metrics
No merged PRs in 30d

Description

`embedded-graphics` contains an [upper limit](https://github.com/embedded-graphics/embedded-graphics/blob/59fd64be61167682e9b3fe8e73d02c431c87b25a/Cargo.toml#L31C1-L31C14) on the `az` version:
```toml
az = "~1.2.0"
```

This can conflict with other packages that require newer versions. For example, the current git code in `embassy-rp` contains a dependency on `fixed 1.31.0`, which requires `az 1.3`.

To reproduce:
```plaintext
cargo new --lib embedded-broken; cd embedded-broken
cargo add embassy-rp --git https://github.com/embassy-rs/embassy.git
cargo add embedded-graphics

error: failed to select a version for `az`.
... required by package `embedded-graphics v0.8.2`
... which satisfies dependency `embedded-graphics = "^0.8.2"` of package `embedded-broken v0.1.0 (/home/eric/work/rust/play/embedded-broken)`
versions that meet the requirements `~1.2.0` are: 1.2.1, 1.2.0

all possible versions conflict with previously selected packages

previously selected package `az v1.3.0`
... which satisfies dependency `az = "^1.3"` of package `fixed v1.31.0`
... which satisfies dependency `fixed = "^1.31.0"` of package `embassy-rp v0.10.0 (https://github.com/embassy-rs/embassy.git#f21d63db)`
... which satisfies git dependency `embassy-rp` (locked to 0.10.0) of package `embedded-broken v0.1.0 (/home/eric/work/rust/play/embedded-broken)`

failed to select a version for `az` which could resolve this conflict
```

[That change to embassy-rp](https://github.com/embassy-rs/embassy/pull/6375) hasn't been released yet, but when it is the conflict will affect anyone using both embassy-rp and embedded-graphics.

I'm not sure why `az 1.3.x` is not currently permitted by embedded-graphics (the limit was added in #809) , but it would make life easier if the upper limit could be removed so any semver-compatible `az` version would be allowed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in Cargo.toml at the az dependency limit linked in the issue, and review the rationale from issue or pull request #809. Reproduce the dependency resolution failure with the provided cargo new, cargo add embassy-rp, and cargo add embedded-graphics commands. Done means the example resolves with the newer az version permitted.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
embedded-iot
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.