embedded-graphics / embedded-graphics/embedded-graphics
`az` version limit conflicts with next version of `embassy-rp`
- 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