Pin syn dependency for MSRV toolchain

The recent 1.0.108 `syn` update violated our MSRV, pin `syn` in the CI
script.
This commit is contained in:
Tobin C. Harding 2023-02-24 08:26:11 +11:00
parent 3a53e7e12e
commit 596e756d01
No known key found for this signature in database
GPG Key ID: 40BF9E4C269D6607
2 changed files with 9 additions and 0 deletions

View File

@ -79,6 +79,9 @@ For more information please see `./CONTRIBUTING.md`.
This library should always compile with any combination of features (minus
`no-std`) on **Rust 1.41.1** or **Rust 1.47** with `no-std`.
To build with the MSRV you will need to pin some dependencies, currently this is
only `syn`, and can be achieved using `cargo update -p syn --precise 1.0.107`.
## Installing Rust
Rust can be installed using your package manager of choice or

View File

@ -18,6 +18,12 @@ if cargo --version | grep nightly; then
NIGHTLY=true
fi
# Pin dependencies as required if we are using MSRV toolchain.
if cargo --version | grep "1\.41"; then
# 1.0.108 uses `matches!` macro so does not work with Rust 1.41.1, bad `syn` no biscuit.
cargo update -p syn --precise 1.0.107
fi
# We should not have any duplicate dependencies. This catches mistakes made upgrading dependencies
# in one crate and not in another (e.g. upgrade bitcoin_hashes in bitcoin but not in secp).
duplicate_dependencies=$(cargo tree --target=all --all-features --duplicates | wc -l)