Skip to content

chore(deps): bump syn from 2.0.118 to 3.0.1 - #280

Merged
arnavk23 merged 1 commit into
mainfrom
dependabot/cargo/syn-3.0.1
Jul 20, 2026
Merged

chore(deps): bump syn from 2.0.118 to 3.0.1#280
arnavk23 merged 1 commit into
mainfrom
dependabot/cargo/syn-3.0.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bumps syn from 2.0.118 to 3.0.1.

Release notes

Sourced from syn's releases.

3.0.1

3.0.0

This release contains adjustments to the syntax tree to account for ongoing Rust language development from the 3 years since syn 2.0.0 and to anticipate some in-flight Rust language RFCs.

These include: default values in fields, pinned type sugar, raw lifetimes, generator blocks and functions, unnamed enum variants, attributes in tuple types and tuple patterns, named arguments in parenthesized generic argument lists, lightweight clones, const traits, const function pointers, mutability restricted fields, supertrait auto implementation, final associated functions, trait implementability restrictions, const blocks in path arguments, item-level const blocks, return type notation, never patterns, function delegation, mutable by-reference bindings, in-place initialization, field projections, explicitly dyn-compatible traits, view types, file-level frontmatter, generic const arguments, guard patterns, lazy type aliases, explicitly safe foreign items, super let, unsafe fields, pattern types, heterogeneous try-blocks, function contracts, async function trait bounds, static closure coroutine syntax, unsafe binder types, move expressions, for-await loops, and postfix keywords.

Breaking changes

Modifiers

To reserve more room for language evolution, there are 10 new non-exhaustive structs in the syntax tree having the following commonality:

  • Name ending in Modifiers. {BlockModifiers, ClosureModifiers, ConstModifiers, FieldModifiers, FnModifiers, ImplModifiers, LocalModifiers, TraitBoundModifiers, TraitModifiers, TypeModifiers}

  • Each implements Default. The default value is guaranteed to comprise no tokens.

  • Non-exhaustive. Can only be instantiated by Syn's parser or by creating and then mutating ▁▁Modifiers::default().

  • Does not implement Parse. When parsing, they are parsed by the enclosing syntax tree node.

  • Does not implement ToTokens. In some cases the syntax that these nodes might hold in the future is not necessarily contiguous tokens.

  • Provides .require_empty() -> Result<()> which returns a meaningfully spanned error if the modifiers are different from the empty default. This enables a caller to reject syntax it does not recognize without knowing what that syntax may be.

Types

  • Type::BareFn has been renamed to Type::FnPtr to mirror the compiler's terminology. Together with this, BareVariadic is renamed to FnPtrVariadic.

  • The mutually exclusive const_token and mutability fields of Type::Ptr have been unified into an enum of type PointerMutability, which was already previously used by Expr::RawAddr.

  • Every Type variant now holds attributes, which can represent the attributes of element types inside a tuple type, or attributes for a function return type.

  • BareFnArg is renamed to NamedArg and is used in ParenthesizedGenericArguments, in addition to the existing use in Type::FnPtr.

Expressions

  • In Expr::Closure, the fields or1_token and or2_token have been renamed to inputs_begin and inputs_end to indicate the beginning and ending | token of the closure inputs.

Statements

  • Attributes are now preserved on all expression kinds in statement position. Previously, parsing would silently lose attributes on some expression statements without a dedicated Expr variant, such as tail-call expressions.

... (truncated)

Commits

Dependabot compatibility score

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 show <dependency name> 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)

Bumps [syn](https://github.com/dtolnay/syn) from 2.0.118 to 3.0.1.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](dtolnay/syn@2.0.118...3.0.1)

---
updated-dependencies:
- dependency-name: syn
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 20, 2026
@entelligence-ai-pr-reviews

Copy link
Copy Markdown
Contributor

EntelligenceAI PR Summary

Upgrades the syn dependency in the foo proc-macro crate to the new major version 3.0, with corresponding lock file updates.

  • rust_annie_macros/foo/Cargo.toml: changed syn version specifier from 2.0 to 3.0; full and extra-traits features unchanged
  • Cargo.lock: syn 2.x updated from 2.0.1182.0.119 for all other dependents
  • Cargo.lock: new syn 3.0.1 entry added to satisfy the foo crate's new requirement

Confidence Score: 5/5 - Safe to Merge

Safe to merge — this PR upgrades the syn dependency in rust_annie_macros/foo/Cargo.toml from the 2.0 major version to 3.0, a straightforward dependency bump with no logic changes. The Cargo.lock correctly reflects both the new syn 3.0.1 entry for the foo crate and the independent syn 2.0.119 bump for all other dependents in the workspace, meaning the major version boundary is properly isolated. No review comments were generated and no pre-existing unresolved concerns exist for this PR.

Key Findings:

  • The foo/Cargo.toml change is minimal and correct: only the version specifier changes from 2.0 to 3.0 while the full and extra-traits feature flags remain intact, preserving the same feature surface.
  • The Cargo.lock correctly maintains two separate syn entries — 2.0.119 for all other workspace crates and 3.0.1 exclusively for the foo proc-macro crate — demonstrating that Cargo's dependency resolution handled the split cleanly without forcing a workspace-wide breaking upgrade.
  • No automated review comments were raised, and heuristic analysis found zero critical, significant, or medium-severity issues across all changed files.
Files requiring special attention
  • rust_annie_macros/foo/Cargo.toml
  • Cargo.lock

@arnavk23
arnavk23 merged commit 9dbfd90 into main Jul 20, 2026
17 checks passed
@arnavk23
arnavk23 deleted the dependabot/cargo/syn-3.0.1 branch July 20, 2026 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant