Skip to content

Fix breakage stemming from Syn MSRV bump #1085

@jswrenn

Description

@jswrenn

Starting with #1081, our nightly toolchain roller began to fail. The cause was syn increasing its MSRV to 1.60 from 1.56. Our MSRV remains at 1.56, so CI builds on that toolchain began to fail to resolve a suitable version of syn.

The timeline of events on syn's side is a little confusing:

  1. March 21: Raise required compiler to rust 1.60
  2. March 23: Release 2.0.54
  3. March 23: Restore compatibility with rustc 1.56 through 1.59
  4. March 23: Release 2.0.55
  5. March 29: chore: bump msrv to 1.60 in Use dep: and optional dependency feature ? syntax dtolnay/syn#1608
  6. March 29: Release 2.0.56

Not yet sure how we should proceed with this. A few possibilities that spring to mind:

  • We build in CI with -Z minimal-versions
  • We downgrade to syn 1.x (MSRV is 1.31)
  • We vendor (or reimplement) the parts of syn relevant to zerocopy-derive
  • We delete our MSRV policy on zerocopy-derive; we cannot guarantee an MSRV for that crate, since it has dependencies with different MSRV policies.
  • Ask syn to adopt a more conservative MSRV policy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions