Skip to content

chore(deps)(deps): bump syn from 2.0.119 to 3.0.5 - #314

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/syn-3.0.5
Closed

chore(deps)(deps): bump syn from 2.0.119 to 3.0.5#314
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/syn-3.0.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 7, 2026

Copy link
Copy Markdown
Contributor

Bumps syn from 2.0.119 to 3.0.5.

Release notes

Sourced from syn's releases.

3.0.5

3.0.4

  • Allow safe fn in impl Parse for ForeignItemFn (#2078)

3.0.3

  • Documentation improvements

3.0.2

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.

... (truncated)

Commits
  • e0ad92d Release 3.0.5
  • 74e7d75 Merge pull request #2080 from sunshowers/lit-str-span
  • 4c264f3 In LitStr::parse_with, report correct span for lex errors
  • 7e2b27b Update test suite to nightly-2026-08-26
  • b5d62a6 Release 3.0.4
  • abf019c Merge pull request #2078 from dtolnay/foreginitemfn
  • d454333 Allow safe fn in impl Parse for ForeignItemFn
  • 8011b1c Update test suite to nightly-2026-08-18
  • 56a8d83 Raise rayon thread size for tests
  • f2c5c50 Ignore assert_is_empty pedantic clippy lint
  • Additional commits viewable in compare view

@dependabot @github

dependabot Bot commented on behalf of github Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: rust. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Sep 7, 2026
@StefanSteiner

Copy link
Copy Markdown
Contributor

@dependabot rebase

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

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

Signed-off-by: dependabot[bot] <support@github.com>
@StefanSteiner

Copy link
Copy Markdown
Contributor

Superseded by #319, which does the syn 2→3 source port (adds .. to the TypePath patterns for syn 3's new attrs field) so the clippy and msrv (1.88) gates pass. Closing this in favor of that.

@dependabot @github

dependabot Bot commented on behalf of github Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/cargo/syn-3.0.5 branch September 8, 2026 06:38
StefanSteiner added a commit that referenced this pull request Sep 8, 2026
syn 3.0 adds an `attrs` field to type-syntax nodes (`TypePath`, etc.),
so the exhaustive `TypePath { path, qself: None }` struct patterns no
longer compile (E0027). Match `..` to ignore it — we never inspect
attributes on a type node.

Supersedes Dependabot #314, which bumped the pin but left the source on
syn 2's API, failing the clippy and msrv (1.88) gates. syn 3.0.5's own
MSRV is 1.71, well under the 1.88 floor.

Verified: clippy --workspace --all-targets --all-features -D warnings,
msrv 1.88 workspace + standalone compile-check checks, fmt, the derive
crate's trybuild UI suite (compile-fail stderr snapshots unchanged under
syn 3), the compile-check validator tests, the doc gate, and the
compile_time_validation example end-to-end — all green.
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant