Update Rust crate syn to v3 #62

Merged
redbinder0526 merged 1 commit from renovate/syn-3.x into v0 2026-08-08 07:34:46 +02:00
Owner

This PR contains the following updates:

Package Type Update Change
syn dependencies major 2.0.983.0.0

Release Notes

dtolnay/syn (syn)

v3.0.3

Compare Source

  • Documentation improvements

v3.0.2

Compare Source

v3.0.1

Compare Source

v3.0.0

Compare Source

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.


[API documentation for 3.0]

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.

Patterns

  • The guard field of Arm is replaced by a new Pat::Guard variant held in the arm's pat.

Items

  • The unsafety field of Signature, which represented the presence or absence of unsafe, is replaced by a 3-way Safety enum which may be safe, unsafe, or default. ForeignItem::Static also gets a Safety.

  • Some of the fields of Receiver have been split to a non-exhaustive ReceiverKind enum to create room for proposed new kinds of method receivers, such as pinned.

  • Type aliases now hold a WhereClausePlacement to distinguish between early placement (which is the default for item-level type aliases and is deprecated in associated type aliases) and late placement (which is the default for associated type aliases and is unstable in item-level type aliases). Parsing and printing a syntax tree will now preserve the where-clause placement rather than rewriting it to the default placement for the item kind.

Generics

  • WherePredicate::Lifetime and WherePredicate::Type have a new field holding the attributes on the where-predicates.

  • GenericParam::Type and GenericParam::Const now match the rest of the syntax tree in holding their optional default using a single Option of tuple, rather than a pair of Option.

Literals

  • The Parse implementation of Lifetime no longer permits keyword lifetimes, matching a change in Rust 1.81 to deny such lifetimes pre-expansion. Lifetime::parse_any may be used to parse lifetimes permissive of keywords.

  • LitInt and LitFloat no longer implement From<proc_macro2::Literal>. Use Lit::new(literal) and then match Lit::Int or Lit::Float.

  • The StrStyle enum was unused and has been deleted.

More

  • File contains a new Option<Frontmatter>, but does not yet parse frontmatter in syn::parse_file until that language feature progresses closer to stabilization.

  • Some enums no longer provide From impls. Construct the variant by name instead, such as Expr::Array(e) in place of e.into().

  • The pop method of Punctuated<T, P> now returns Option<T> discarding the trailing punctuation if any, rather than Option<Pair<T, P>>. A new method pop_pair provides the old behavior.

  • Syntax tree traversal (visit, visit_mut, fold) no longer provides a method for processing Span. This was already incompletely supported and never walked most of the spans in a syntax tree.

  • The Speculative and AnyDelimiter traits have been sealed and cannot be implemented for types outside of Syn's ParseStream.

v2.0.119

Compare Source

  • Preserve attributes on tail-call expressions in statement position (#​1994)
  • Parse field-representing types builtin in type position (#​1996)

v2.0.118

Compare Source

  • Documentation improvements

v2.0.117

Compare Source

  • Fix parsing of self:: pattern in first function argument (#​1970)

v2.0.116

Compare Source

  • Optimize parse_fn_arg_or_variadic for less lookahead on erroneous receiver (#​1968)

v2.0.115

Compare Source

  • Enable GenericArgument::Constraint parsing in non-full mode (#​1966)

v2.0.114

Compare Source

  • Make std dependencies more easily discoverable in source code (#​1956, thanks @​tamird)

v2.0.113

Compare Source

  • Allow parsing TypeParam with colon not followed by any type param bounds (#​1953, thanks @​wyfo)

v2.0.112

Compare Source

v2.0.111

Compare Source

  • Allow first argument of braced!, bracketed!, parenthesized! to be an otherwise unused variable (#​1946)

v2.0.110

Compare Source

  • Tweaks to improve build speed (#​1939, thanks @​dishmaker)
  • Make syn::ext::IdentExt::unraw available without "parsing" feature (#​1940)
  • Support parsing syn::Meta followed by => (#​1944)

v2.0.109

Compare Source

v2.0.108

Compare Source

  • Parse unrecognized or invalid literals as Lit::Verbatim (#​1925)

v2.0.107

Compare Source

  • Improve panic message when constructing a LitInt, LitFloat, or Lit from invalid syntax (#​1917)
  • Improve panic message on Punctuated index out of bounds (#​1922)

v2.0.106

Compare Source

v2.0.105

Compare Source

v2.0.104

Compare Source

  • Disallow attributes on range expression (#​1872)

v2.0.103

Compare Source

  • Insert parentheses around binary operation with attribute (#​1871)

v2.0.102

Compare Source

  • Fix printing of nested Expr::Index and Expr::Tuple in non-full mode (#​1869)

v2.0.101

Compare Source

  • Improve TypeGenerics::as_turbofish to return longer-lived return value (#​1861)

v2.0.100

Compare Source

  • Add Visit::visit_token_stream, VisitMut::visit_token_stream_mut, Fold::fold_token_stream for processing TokenStream during syntax tree traversals (#​1852)

v2.0.99

Compare Source

  • Documentation improvements

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [syn](https://github.com/dtolnay/syn) | dependencies | major | `2.0.98` → `3.0.0` | --- ### Release Notes <details> <summary>dtolnay/syn (syn)</summary> ### [`v3.0.3`](https://github.com/dtolnay/syn/releases/tag/3.0.3) [Compare Source](https://github.com/dtolnay/syn/compare/3.0.2...3.0.3) - Documentation improvements ### [`v3.0.2`](https://github.com/dtolnay/syn/releases/tag/3.0.2) [Compare Source](https://github.com/dtolnay/syn/compare/3.0.1...3.0.2) - Add [`Error::new_range(start..end, "msg")`](https://docs.rs/syn/3/syn/struct.Error.html#method.new_range) ([#&#8203;2068](https://github.com/dtolnay/syn/issues/2068), [#&#8203;2070](https://github.com/dtolnay/syn/issues/2070)) - Add [`Cursor::prev_span`](https://docs.rs/syn/3/syn/buffer/struct.Cursor.html#method.prev_span) ### [`v3.0.1`](https://github.com/dtolnay/syn/releases/tag/3.0.1) [Compare Source](https://github.com/dtolnay/syn/compare/3.0.0...3.0.1) - Parse const traits ([#&#8203;2056](https://github.com/dtolnay/syn/issues/2056), [#&#8203;2057](https://github.com/dtolnay/syn/issues/2057), [#&#8203;2058](https://github.com/dtolnay/syn/issues/2058), [#&#8203;2063](https://github.com/dtolnay/syn/issues/2063), [#&#8203;2064](https://github.com/dtolnay/syn/issues/2064)) - Parse unsafe binder types ([#&#8203;2065](https://github.com/dtolnay/syn/issues/2065)) - Parse impl restrictions ([#&#8203;2066](https://github.com/dtolnay/syn/issues/2066)) ### [`v3.0.0`](https://github.com/dtolnay/syn/releases/tag/3.0.0) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.119...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. <br> <p align="center"><a href="https://docs.rs/syn/3/syn">[API documentation for 3.0]</a></p> ### 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. #### Patterns - The `guard` field of `Arm` is replaced by a new `Pat::Guard` variant held in the arm's `pat`. #### Items - The `unsafety` field of `Signature`, which represented the presence or absence of `unsafe`, is replaced by a 3-way `Safety` enum which may be safe, unsafe, or default. `ForeignItem::Static` also gets a `Safety`. - Some of the fields of `Receiver` have been split to a non-exhaustive `ReceiverKind` enum to create room for proposed new kinds of method receivers, such as pinned. - Type aliases now hold a `WhereClausePlacement` to distinguish between early placement (which is the default for item-level type aliases and is *deprecated* in associated type aliases) and late placement (which is the default for associated type aliases and is *unstable* in item-level type aliases). Parsing and printing a syntax tree will now preserve the where-clause placement rather than rewriting it to the default placement for the item kind. #### Generics - `WherePredicate::Lifetime` and `WherePredicate::Type` have a new field holding the attributes on the where-predicates. - `GenericParam::Type` and `GenericParam::Const` now match the rest of the syntax tree in holding their optional default using a single Option of tuple, rather than a pair of Option. #### Literals - The `Parse` implementation of `Lifetime` no longer permits keyword lifetimes, matching a change in Rust 1.81 to deny such lifetimes pre-expansion. `Lifetime::parse_any` may be used to parse lifetimes permissive of keywords. - `LitInt` and `LitFloat` no longer implement `From<proc_macro2::Literal>`. Use `Lit::new(literal)` and then match `Lit::Int` or `Lit::Float`. - The `StrStyle` enum was unused and has been deleted. #### More - `File` contains a new `Option<Frontmatter>`, but does not yet parse frontmatter in `syn::parse_file` until that language feature progresses closer to stabilization. - Some enums no longer provide `From` impls. Construct the variant by name instead, such as `Expr::Array(e)` in place of `e.into()`. - The `pop` method of `Punctuated<T, P>` now returns `Option<T>` discarding the trailing punctuation if any, rather than `Option<Pair<T, P>>`. A new method `pop_pair` provides the old behavior. - Syntax tree traversal (`visit`, `visit_mut`, `fold`) no longer provides a method for processing `Span`. This was already incompletely supported and never walked most of the spans in a syntax tree. - The `Speculative` and `AnyDelimiter` traits have been sealed and cannot be implemented for types outside of Syn's `ParseStream`. ### [`v2.0.119`](https://github.com/dtolnay/syn/releases/tag/2.0.119) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.118...2.0.119) - Preserve attributes on tail-call expressions in statement position ([#&#8203;1994](https://github.com/dtolnay/syn/issues/1994)) - Parse field-representing types builtin in type position ([#&#8203;1996](https://github.com/dtolnay/syn/issues/1996)) ### [`v2.0.118`](https://github.com/dtolnay/syn/releases/tag/2.0.118) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.117...2.0.118) - Documentation improvements ### [`v2.0.117`](https://github.com/dtolnay/syn/releases/tag/2.0.117) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.116...2.0.117) - Fix parsing of `self::` pattern in first function argument ([#&#8203;1970](https://github.com/dtolnay/syn/issues/1970)) ### [`v2.0.116`](https://github.com/dtolnay/syn/releases/tag/2.0.116) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.115...2.0.116) - Optimize parse\_fn\_arg\_or\_variadic for less lookahead on erroneous receiver ([#&#8203;1968](https://github.com/dtolnay/syn/issues/1968)) ### [`v2.0.115`](https://github.com/dtolnay/syn/releases/tag/2.0.115) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.114...2.0.115) - Enable GenericArgument::Constraint parsing in non-full mode ([#&#8203;1966](https://github.com/dtolnay/syn/issues/1966)) ### [`v2.0.114`](https://github.com/dtolnay/syn/releases/tag/2.0.114) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.113...2.0.114) - Make std dependencies more easily discoverable in source code ([#&#8203;1956](https://github.com/dtolnay/syn/issues/1956), thanks [@&#8203;tamird](https://github.com/tamird)) ### [`v2.0.113`](https://github.com/dtolnay/syn/releases/tag/2.0.113) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.112...2.0.113) - Allow parsing TypeParam with colon not followed by any type param bounds ([#&#8203;1953](https://github.com/dtolnay/syn/issues/1953), thanks [@&#8203;wyfo](https://github.com/wyfo)) ### [`v2.0.112`](https://github.com/dtolnay/syn/releases/tag/2.0.112) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.111...2.0.112) - Fix panic in LitByte::new().value() ([#&#8203;1951](https://github.com/dtolnay/syn/issues/1951), thanks [@&#8203;VictorArcium](https://github.com/VictorArcium)) ### [`v2.0.111`](https://github.com/dtolnay/syn/releases/tag/2.0.111) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.110...2.0.111) - Allow first argument of `braced!`, `bracketed!`, `parenthesized!` to be an otherwise unused variable ([#&#8203;1946](https://github.com/dtolnay/syn/issues/1946)) ### [`v2.0.110`](https://github.com/dtolnay/syn/releases/tag/2.0.110) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.109...2.0.110) - Tweaks to improve build speed ([#&#8203;1939](https://github.com/dtolnay/syn/issues/1939), thanks [@&#8203;dishmaker](https://github.com/dishmaker)) - Make `syn::ext::IdentExt::unraw` available without "parsing" feature ([#&#8203;1940](https://github.com/dtolnay/syn/issues/1940)) - Support parsing `syn::Meta` followed by `=>` ([#&#8203;1944](https://github.com/dtolnay/syn/issues/1944)) ### [`v2.0.109`](https://github.com/dtolnay/syn/releases/tag/2.0.109) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.108...2.0.109) - Tweaks to improve build speed ([#&#8203;1927](https://github.com/dtolnay/syn/issues/1927), [#&#8203;1928](https://github.com/dtolnay/syn/issues/1928), [#&#8203;1930](https://github.com/dtolnay/syn/issues/1930), [#&#8203;1932](https://github.com/dtolnay/syn/issues/1932), [#&#8203;1934](https://github.com/dtolnay/syn/issues/1934), thanks [@&#8203;dishmaker](https://github.com/dishmaker)) ### [`v2.0.108`](https://github.com/dtolnay/syn/releases/tag/2.0.108) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.107...2.0.108) - Parse unrecognized or invalid literals as Lit::Verbatim ([#&#8203;1925](https://github.com/dtolnay/syn/issues/1925)) ### [`v2.0.107`](https://github.com/dtolnay/syn/releases/tag/2.0.107) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.106...2.0.107) - Improve panic message when constructing a LitInt, LitFloat, or Lit from invalid syntax ([#&#8203;1917](https://github.com/dtolnay/syn/issues/1917)) - Improve panic message on Punctuated index out of bounds ([#&#8203;1922](https://github.com/dtolnay/syn/issues/1922)) ### [`v2.0.106`](https://github.com/dtolnay/syn/releases/tag/2.0.106) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.105...2.0.106) - Replace `~const` syntax with `[const]` conditionally const syntax in trait bounds ([#&#8203;1896](https://github.com/dtolnay/syn/issues/1896), [rust-lang/rust#139858](https://github.com/rust-lang/rust/pull/139858)) - Support conditionally const impl Trait types ([#&#8203;1897](https://github.com/dtolnay/syn/issues/1897)) - Reject polarity modifier and lifetime binder used in the same trait bound ([#&#8203;1899](https://github.com/dtolnay/syn/issues/1899), [rust-lang/rust#127054](https://github.com/rust-lang/rust/pull/127054)) - Parse const trait bounds with bound lifetimes ([#&#8203;1902](https://github.com/dtolnay/syn/issues/1902)) - Parse bound lifetimes with lifetime bounds ([#&#8203;1903](https://github.com/dtolnay/syn/issues/1903)) - Allow type parameters and const parameters in trait bounds and generic closures ([#&#8203;1904](https://github.com/dtolnay/syn/issues/1904), [#&#8203;1907](https://github.com/dtolnay/syn/issues/1907), [#&#8203;1908](https://github.com/dtolnay/syn/issues/1908), [#&#8203;1909](https://github.com/dtolnay/syn/issues/1909)) ### [`v2.0.105`](https://github.com/dtolnay/syn/releases/tag/2.0.105) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.104...2.0.105) - Disallow "negative" inherent impls like `impl !T {}` ([#&#8203;1881](https://github.com/dtolnay/syn/issues/1881), [rust-lang/rust#144386](https://github.com/rust-lang/rust/pull/144386)) ### [`v2.0.104`](https://github.com/dtolnay/syn/releases/tag/2.0.104) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.103...2.0.104) - Disallow attributes on range expression ([#&#8203;1872](https://github.com/dtolnay/syn/issues/1872)) ### [`v2.0.103`](https://github.com/dtolnay/syn/releases/tag/2.0.103) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.102...2.0.103) - Insert parentheses around binary operation with attribute ([#&#8203;1871](https://github.com/dtolnay/syn/issues/1871)) ### [`v2.0.102`](https://github.com/dtolnay/syn/releases/tag/2.0.102) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.101...2.0.102) - Fix printing of nested Expr::Index and Expr::Tuple in non-full mode ([#&#8203;1869](https://github.com/dtolnay/syn/issues/1869)) ### [`v2.0.101`](https://github.com/dtolnay/syn/releases/tag/2.0.101) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.100...2.0.101) - Improve TypeGenerics::as\_turbofish to return longer-lived return value ([#&#8203;1861](https://github.com/dtolnay/syn/issues/1861)) ### [`v2.0.100`](https://github.com/dtolnay/syn/releases/tag/2.0.100) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.99...2.0.100) - Add `Visit::visit_token_stream`, `VisitMut::visit_token_stream_mut`, `Fold::fold_token_stream` for processing TokenStream during syntax tree traversals ([#&#8203;1852](https://github.com/dtolnay/syn/issues/1852)) ### [`v2.0.99`](https://github.com/dtolnay/syn/releases/tag/2.0.99) [Compare Source](https://github.com/dtolnay/syn/compare/2.0.98...2.0.99) - Documentation improvements </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODguMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4OC4wIiwidGFyZ2V0QnJhbmNoIjoidjAiLCJsYWJlbHMiOltdfQ==-->
Update Rust crate syn to v3
All checks were successful
Build and Test / build-editions (fast-racing-neo) (push) Successful in 9m41s
Build and Test / build-editions (minecraft-wiiu) (push) Successful in 9m46s
Build and Test / build-editions (DATABASE_FRIENDS, friends) (push) Successful in 12m50s
Build and Test / build-editions (mario-tennis) (push) Successful in 12m47s
Build and Test / build-editions (DATABASE_SMM, super-mario-maker) (push) Successful in 15m7s
Build and Test / build-editions (DATABASE_SMM, wii-sports-club) (push) Successful in 15m29s
Build and Test / build-editions (sonic-transformed) (push) Successful in 8m30s
Build and Test / build-editions (DATABASE_SMM, puyopuyo) (push) Successful in 15m48s
Build and Test / build-editions (terraria) (push) Successful in 7m46s
Build and Test / build-editions (splatoon-testfire) (push) Successful in 7m49s
Build and Test / build-editions (splatoon) (push) Successful in 7m49s
Build and Test / build-editions (wii-u-chat) (push) Successful in 7m40s
37b740579a
redbinder0526 deleted branch renovate/syn-3.x 2026-08-08 07:34:46 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
spacebar/rust-nex!62
No description provided.