Repository navigation
Tracking issue for syn 2.0 inside rust-lang/rust #109302
Copy link
Copy link
Closed
Labels
C-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCE-help-wantedCall for participation: Help is requested to fix this issue.Call for participation: Help is requested to fix this issue.
Description
syn 2.0 was just released!
https://github.com/dtolnay/syn/releases/tag/2.0.0
We should try to fully eliminate syn 1.0 from our dependency tree for better compile times.
The current ways in which we depend on syn 1:
- [ ] `synstructure` (chalk and yoke) - https://github.com/mystor/synstructure/pull/57
- [x] `rustc_macros` (requires `synstructure` support, #109663)
- [x] [`chalk_derive`](https://github.com/rust-lang/chalk/blob/master/chalk-derive/Cargo.toml) (chalk) (requires `synstructure`) https://github.com/rust-lang/chalk/pull/793
- [x] `askama_derive` (used by rustdoc) #109512
- [x] `clap_derive` (used by cargo and several other tools) #110077
- [x] `declare_clippy_lint` https://github.com/rust-lang/rust-clippy/pull/10621
- [ ] `derive_new` (through rustfmt) - https://github.com/nrc/derive-new/pull/61
- [x] `tracing-attributes` (tracing, used in the compiler) https://github.com/tokio-rs/tracing/pull/2516
- [ ] `derive_more` (used in rustc_middle) - https://github.com/JelteF/derive_more/issues/249
- [x] `displaydoc` (used in icu4x) - https://github.com/yaahc/displaydoc/pull/42
- [x] `futures_macro` (dev dep of clippy) #110079
- [ ] `icu_provider_macros`: (icu4x)
- [x] `proc-macro-error`: (through clap)
- [x] `serde_derive`: (compiletest , cargo and probably more) #110078
- [x] `thiserror-impl`: (gitoxide through cargo) #110081
- [ ] `zerovec-derive`: (used in icu4x)
- [ ] `yoke-derive`: (used in icu4x)
- [ ] `zerofrom-derive`: (used in icu4x)
- [ ] `strum_macros` (spdx, licensing)
- [ ] `unic-langid-macros-impl`
- [ ] `derivative` (unmaintained)
- and a few more
Fixing this involes updating the dependencies once they upgrade or contributing upgrades to them directly.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCE-help-wantedCall for participation: Help is requested to fix this issue.Call for participation: Help is requested to fix this issue.
Activity
jhpratt commentedon Mar 18, 2023
Mostly an aside: Is there a tracking issue for having a better (more thorough) proc macro API so that
synisn't necessary? I know there's#![feature(proc_macro_quote)]for output, but I'm not aware of anything for parsing.Rollup merge of rust-lang#109512 - fee1-dead-contrib:bump-askama_deri…
Rollup merge of rust-lang#110081 - fee1-dead-contrib:bump-thiserror, …
Auto merge of rust-lang#110078 - fee1-dead-contrib:bump-serde, r=Mark…
Rollup merge of rust-lang#110079 - fee1-dead-contrib:bump-futures, r=…
Rollup merge of rust-lang#110077 - fee1-dead-contrib:time-to-bump, r=…
Rollup merge of rust-lang#110077 - fee1-dead-contrib:time-to-bump, r=…
Rollup merge of rust-lang#110079 - fee1-dead-contrib:bump-futures, r=…
Auto merge of rust-lang#110079 - fee1-dead-contrib:bump-futures, r=Ma…
Manishearth commentedon May 2, 2023
The
databakeandzerovecderives are probably in this group. We should update ICU4X, and I can cut patch releases for those crates once we land the syn update upstream.Rollup merge of rust-lang#111104 - Manishearth:icuup, r=compiler-errors
9 remaining items
Rollup merge of rust-lang#120201 - clubby789:dep-update, r=dtolnay
Rollup merge of rust-lang#120201 - clubby789:dep-update, r=dtolnay
Auto merge of rust-lang#120201 - clubby789:dep-update, r=dtolnay
Rollup merge of rust-lang#120420 - lnicola:rm-pattern-analysis-deriva…
Rollup merge of rust-lang#120420 - lnicola:rm-pattern-analysis-deriva…
Rollup merge of rust-lang#120420 - lnicola:rm-pattern-analysis-deriva…
Rollup merge of rust-lang#120420 - lnicola:rm-pattern-analysis-deriva…
Rollup merge of rust-lang#120420 - lnicola:rm-pattern-analysis-deriva…
Unrolled build for rust-lang#120420
GrigorenkoPV commentedon Jun 27, 2024
As you might have seen from the mentions, I have submitted a PR replacing
derivativewith a maintained alternative (#127042) and politely pestered thespdx-rsmaintainers about making a new release (doubleopen-io/spdx-rs#33). When (and if) those two go through, thesyn 1.*will officially be no more.Auto merge of rust-lang#127042 - GrigorenkoPV:derivative, r=<try>
Auto merge of rust-lang#127042 - GrigorenkoPV:derivative, r=compiler-…
GrigorenkoPV commentedon Apr 19, 2026
This will be closed by #154823