Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proc-macro2 Faling for MSRV #2071

Closed
yancyribbens opened this issue Sep 13, 2023 · 8 comments
Closed

proc-macro2 Faling for MSRV #2071

yancyribbens opened this issue Sep 13, 2023 · 8 comments

Comments

@yancyribbens
Copy link
Contributor

yancyribbens commented Sep 13, 2023

Looks like another problem with MSRV on CI. For #2069 I'm getting the following CI failure:

error: failed to select a version for the requirement `proc-macro2 = "^1.0.67"`
candidate versions found which didn't match: 1.0.63
location searched: crates.io index
required by package `syn v2.0.33`
    ... which is depended on by `wasm-bindgen-macro-support v0.2.87`
    ... which is depended on by `wasm-bindgen-macro v0.2.87`
    ... which is depended on by `wasm-bindgen v0.2.87`
    ... which is depended on by `console_error_panic_hook v0.1.7`
    ... which is depended on by `wasm-bindgen-test v0.3.37`
    ... which is depended on by `bitcoin_hashes v0.13.0 (/home/runner/work/rust-bitcoin/rust-bitcoin/hashes)`
    ... which is depended on by `bitcoin v0.30.0 (/home/runner/work/rust-bitcoin/rust-bitcoin/bitcoin)`
Error: Process completed with exit code 101.
@yancyribbens
Copy link
Contributor Author

Looks like syn 2.0.33 requires rustc +1.56.

@tcharding
Copy link
Member

This is resolved on master now.

@yancyribbens
Copy link
Contributor Author

yeah I saw: rust-bitcoin/rust-miniscript#598. Still curious where the idea to use syn 2.0.x came from.

@tcharding
Copy link
Member

In general, for pinning MSRV build one just has to experimentally find out which patch version broke the MSRV then pin to the version before it.

@yancyribbens
Copy link
Contributor Author

I had thought it would be possible to copy Cargo-minimal.lock to Cargo.lock and then run cargo update and let cargo do the dependency resolution. For reasons I still don't fully grok this strategy fails.

@apoelstra
Copy link
Member

Of course cargo can't do it. If cargo were able to do its own dependency resolution then we wouldn't be having issues :).

@apoelstra
Copy link
Member

And Cargo-minimal.lock has nothing to do with the pins needed by CI. How can we document that better?

@yancyribbens
Copy link
Contributor Author

How can we document that better?

It's probably beyond the scope of this project to document the intricacies of cargo dependency resolution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants