Correct syn pinning on cargo 1.48
authorMatt Corallo <git@bluematt.me>
Fri, 15 Sep 2023 23:52:40 +0000 (23:52 +0000)
committerMatt Corallo <git@bluematt.me>
Sat, 16 Sep 2023 16:54:17 +0000 (16:54 +0000)
Sadly the pinning introduced in 050f5a90297678f2cad36feee9a1db2367e
was brittle in the face of any further syn updates, and has already
broken.

Here we fix it by looking up the actual version of syn to pin.

Note that this dependency is somewhat nonsense as its actually only
a `criterion` dependency, pulled in even though we haven't set the
bench flag (as we aren't yet using `resolver = 2`).

ci/ci-tests.sh

index 7b925cc8544eca2a077ab7a5b3aa9f2af27c3398..eb42bfb01e4149f1c14442e6709cf8c30c98a14e 100755 (executable)
@@ -30,7 +30,10 @@ PIN_RELEASE_DEPS # pin the release dependencies in our main workspace
 [ "$RUSTC_MINOR_VERSION" -lt 56 ] && cargo update -p quote --precise "1.0.30" --verbose
 
 # The syn crate depends on too-new proc-macro2 starting with v2.0.33, i.e., has MSRV of 1.56
-[ "$RUSTC_MINOR_VERSION" -lt 56 ] && cargo update -p syn:2.0.33 --precise "2.0.32" --verbose
+if [ "$RUSTC_MINOR_VERSION" -lt 56 ]; then
+       SYN_2_DEP=$(grep -o '"syn 2.*' Cargo.lock | tr -d '",' | tr ' ' ':')
+       cargo update -p "$SYN_2_DEP" --precise "2.0.32" --verbose
+fi
 
 # The proc-macro2 crate switched to Rust edition 2021 starting with v1.0.66, i.e., has MSRV of 1.56
 [ "$RUSTC_MINOR_VERSION" -lt 56 ] && cargo update -p proc-macro2 --precise "1.0.65" --verbose