rust-lang / rust-lang/rust-bindgen
syn dependency version bound is incompatible with prettyplease
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 5.3k
- Forks
- 829
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 15
Description
I have the following build dependencies in my crate:
bindgen = "0.73.1"
cmake = "0.1.58"
The syn version bound in bindgen (>=2, <4) allows Cargo to select a 2.x release (2.0.119) for bindgen and a 3.x release (3.0.3) for prettyplease, which causes a compilation error. Why cargo picks an old syn release for bindgen is beyond me.
This is one of those cases where I just shut my computer off and go do something else, because it is 11pm and I do not feel like spending the rest of my Saturday night hitting cargo with a rock until it does the right thing.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the dependency resolution with bindgen 0.73.1, prettyplease, and the selected syn versions described in the issue. Inspect the dependency declarations and Cargo's resolved graph, then confirm that the reported compilation conflict is eliminated while keeping the affected build dependencies compatible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100