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

Unifying dependencies to use syn 2. As per tower-rs/tower/issues/742. #4

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

peter-lyons-kehl
Copy link

@peter-lyons-kehl peter-lyons-kehl commented Jun 30, 2023

This makes all dependencies use syn crate version 2 (rather than both versions 1 and 2).

Why? syn is big. Even though most likely of recent syn 1 refers to/re-uses most of syn 2 (as per https://github.com/dtolnay/semver-trick by David Tolnay, the author of syn), having two major versions increases build times (in this case) by around 10%.

Most of Cargo.lock is generated due to cargo update:

❯ cargo update
    Updating crates.io index
    Updating async-trait v0.1.67 -> v0.1.68
    Updating axum v0.6.12 -> v0.6.18
    Updating axum-core v0.3.3 -> v0.3.4
    Updating futures-channel v0.3.27 -> v0.3.28
    Updating futures-core v0.3.27 -> v0.3.28
    Updating futures-task v0.3.27 -> v0.3.28
    Updating futures-util v0.3.27 -> v0.3.28
    Updating hermit-abi v0.2.6 -> v0.3.1
    Updating hyper v0.14.25 -> v0.14.27
    Removing log v0.4.17
    Updating mio v0.8.6 -> v0.8.8
    Updating num_cpus v1.15.0 -> v1.16.0
    Updating once_cell v1.17.1 -> v1.18.0
    Updating percent-encoding v2.2.0 -> v2.3.0
    Updating quote v1.0.26 -> v1.0.29
    Updating serde v1.0.158 -> v1.0.164
    Updating syn v2.0.5 -> v2.0.22
    Updating tracing-core v0.1.30 -> v0.1.31
    Updating unicode-ident v1.0.8 -> v1.0.9
    Updating want v0.3.0 -> v0.3.1
    Removing windows-sys v0.45.0
    Removing windows-targets v0.42.2
    Removing windows_aarch64_gnullvm v0.42.2
    Removing windows_aarch64_msvc v0.42.2
    Removing windows_i686_gnu v0.42.2
    Removing windows_i686_msvc v0.42.2
    Removing windows_x86_64_gnu v0.42.2
    Removing windows_x86_64_gnullvm v0.42.2
    Removing windows_x86_64_msvc v0.42.2

Also excluding .vscode/settings.json from GIT (not the whole .vscode folder, though, so devs can upload example config files, where useful.)

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

Successfully merging this pull request may close these issues.

1 participant