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

Syn dependency chosen with MSRV-incompatible version in #1586 #1595

Open
joshlf opened this issue Aug 20, 2024 · 0 comments
Open

Syn dependency chosen with MSRV-incompatible version in #1586 #1595

joshlf opened this issue Aug 20, 2024 · 0 comments

Comments

@joshlf
Copy link
Member

joshlf commented Aug 20, 2024

In #1482, we relaxed zerocopy-derive's MSRV policy, which led to the issue that, when testing on the MSRV toolchain, a version of syn was chosen with a higher MSRV than ours. In order to work around that issue, we added the following in CI:

# Ensure that Cargo resolves the minimum possible syn version so that if we
# accidentally make a change which depends upon features added in more
# recent versions of syn, we'll catch it in CI.
- name: Pin syn dependency
run: |
set -eo pipefail
# Override the exising `syn` dependency with one which requires an exact
# version.
cargo add -p zerocopy-derive 'syn@=2.0.46'

We later decided that there was a better workaround. In #1564, we removed that CI step.

Now, in #1586, we are seeing the same issue again - syn is resolved to a version whose MSRV is higher than ours - but this time only in the newly-introduced zerocopy-target-has-atomics toolchain.

For now, I've decided to work around this by re-introducing the above-mentioned CI step. Eventually, we should more thoroughly debug why #1564 didn't fully resolve the issue.

NOTE: If we decide we want to remove this, we need to consider whether the original justification no longer holds: namely, whether we still need this step in order to ensure that we're not accidentally relying on more recent syn features despite our dependency in zerocopy-derive/Cargo.toml being for a lower version. cc #305

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

1 participant