godot-rust / gdnative

Rust bindings for Godot 3
https://godot-rust.github.io
MIT License
3.61k stars 210 forks source link

Update syn requirement from 1.0.84 to 2.0.58 #1075

Closed dependabot[bot] closed 4 months ago

dependabot[bot] commented 5 months ago

Updates the requirements on syn to permit the latest version.

Release notes

Sourced from syn's releases.

2.0.58

  • Support $ in custom_punctuation! macro (#1611)
Commits
  • 81adad6 Release 2.0.58
  • 7247053 Merge pull request #1611 from dtolnay/customdollar
  • 990142f Support '$' in custom_punctuation macro
  • 4753622 Merge pull request #1610 from dtolnay/sortpunct
  • 36a7f67 Sort tokens in the same order between custom_punctuation_len and Token macro
  • f104427 Update test suite to nightly-2024-03-31
  • 9cea040 Release 2.0.57
  • 3c07b78 Release 2.0.56
  • 585df47 Merge pull request #1608 from BD103/deps-features
  • d7650b2 chore: bump msrv to 1.60 (pt. 2)
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bromeon commented 5 months ago

I thought this would be a not-too-hard change as advertised in the 2.0.0 release notes:

This release contains a batch of syntax tree improvements to incorporate ongoing Rust language development from the past 3.5 years since syn 1.

However, there's a ton of breaking changes, once you scroll down a bit. It also seems like gdnative is affected to a massive degree due to its heavy proc-macro use. I'm not sure if the upgrade is worth it just to stick to the ecosystem -- I would suggest we don't do it unless there are certain syn 2 features that we desperately need, or someone wants to dedicate the time to go through everything.

chitoyuu commented 4 months ago

I agree. syn can't cause semver conflicts in downstream crates unlike normal dependencies, because it's only linked into the proc-macro binary. Since the current implementation is still working well, there isn't really a reason to update "just to stick to the ecosystem", as you've said.

There's a possibility that at some point in the future, some fundamentally new syntax might be added that syn 1 can't handle, and update would become necessary, but I think that should be handled after the fact, if it happens and use cases exist for them together with gdnative.

Since there seems to be an agreement:

@dependabot ignore this major version

dependabot[bot] commented 4 months ago

OK, I won't notify you about version 2.x.x again, unless you re-open this PR.