dtolnay/syn (syn)
### [`v2.0.66`](https://togithub.com/dtolnay/syn/releases/tag/2.0.66)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.65...2.0.66)
- Allow braced structs when parsing ExprLet ([#1671](https://togithub.com/dtolnay/syn/issues/1671))
### [`v2.0.65`](https://togithub.com/dtolnay/syn/releases/tag/2.0.65)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.64...2.0.65)
- Optimize the implementation of `Fold` to compile faster ([#1666](https://togithub.com/dtolnay/syn/issues/1666), [#1667](https://togithub.com/dtolnay/syn/issues/1667), [#1668](https://togithub.com/dtolnay/syn/issues/1668))
### [`v2.0.64`](https://togithub.com/dtolnay/syn/releases/tag/2.0.64)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.63...2.0.64)
- Support using ParseBuffer across `catch_unwind` ([#1646](https://togithub.com/dtolnay/syn/issues/1646))
- Validate that the expression in a let-else ends in brace as required by rustc ([#1648](https://togithub.com/dtolnay/syn/issues/1648), [#1649](https://togithub.com/dtolnay/syn/issues/1649))
- Legalize invalid const generic arguments by wrapping in braces ([#1654](https://togithub.com/dtolnay/syn/issues/1654), [#1655](https://togithub.com/dtolnay/syn/issues/1655))
- Fix some expression precedence edge cases involving `break` and `return` in loop headers ([#1656](https://togithub.com/dtolnay/syn/issues/1656))
- Always print closure bodies with a brace when the closure has an explicit return type ([#1658](https://togithub.com/dtolnay/syn/issues/1658))
- Automatically insert necessary parentheses in ToTokens for Expr when required by expression precedence ([#1659](https://togithub.com/dtolnay/syn/issues/1659))
- Support struct literal syntax in match guard expressions ([#1662](https://togithub.com/dtolnay/syn/issues/1662))
### [`v2.0.63`](https://togithub.com/dtolnay/syn/releases/tag/2.0.63)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.62...2.0.63)
- Parse and print long if-else-if chains without reliance on deep recursion to avoid overflowing stack ([#1644](https://togithub.com/dtolnay/syn/issues/1644), [#1645](https://togithub.com/dtolnay/syn/issues/1645))
### [`v2.0.62`](https://togithub.com/dtolnay/syn/releases/tag/2.0.62)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.61...2.0.62)
- Reject invalid unparenthesized range and comparison operator expressions ([#1642](https://togithub.com/dtolnay/syn/issues/1642), [#1643](https://togithub.com/dtolnay/syn/issues/1643))
### [`v2.0.61`](https://togithub.com/dtolnay/syn/releases/tag/2.0.61)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.60...2.0.61)
- Check for legal binding name in the ident of Pat::Ident ([#1627](https://togithub.com/dtolnay/syn/issues/1627))
- Resolve unexpected_cfgs warning ([#1635](https://togithub.com/dtolnay/syn/issues/1635))
### [`v2.0.60`](https://togithub.com/dtolnay/syn/releases/tag/2.0.60)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.59...2.0.60)
- Improve how None-delimited groups are counted by `peek` ([#1625](https://togithub.com/dtolnay/syn/issues/1625))
### [`v2.0.59`](https://togithub.com/dtolnay/syn/releases/tag/2.0.59)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.58...2.0.59)
- Parse `c"…"` and `cr"…"` C-string literal syntax as `Lit::CStr` ([#1502](https://togithub.com/dtolnay/syn/issues/1502))
### [`v2.0.58`](https://togithub.com/dtolnay/syn/releases/tag/2.0.58)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.57...2.0.58)
- Support `$` in `custom_punctuation!` macro ([#1611](https://togithub.com/dtolnay/syn/issues/1611))
### [`v2.0.57`](https://togithub.com/dtolnay/syn/releases/tag/2.0.57)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.56...2.0.57)
- Eliminate dependency on `quote` when built with default-features disabled and the "proc-macro" feature enabled ([#1608](https://togithub.com/dtolnay/syn/issues/1608), thanks [@BD103](https://togithub.com/BD103))
### [`v2.0.56`](https://togithub.com/dtolnay/syn/releases/tag/2.0.56)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.55...2.0.56)
- Apply RUSTC_WORKSPACE_WRAPPER when deciding whether to run nightly-only tests ([#1605](https://togithub.com/dtolnay/syn/issues/1605))
### [`v2.0.55`](https://togithub.com/dtolnay/syn/releases/tag/2.0.55)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.54...2.0.55)
- Restore compatibility with rustc 1.56 through 1.59 ([#1603](https://togithub.com/dtolnay/syn/issues/1603))
### [`v2.0.54`](https://togithub.com/dtolnay/syn/releases/tag/2.0.54)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.53...2.0.54)
- Fix dead code warning in generated code when using `custom_keyword!` with syn's "printing" feature disabled ([#1602](https://togithub.com/dtolnay/syn/issues/1602))
### [`v2.0.53`](https://togithub.com/dtolnay/syn/releases/tag/2.0.53)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.52...2.0.53)
- Implement Copy, Clone, and ToTokens for syn::parse::Nothing ([#1597](https://togithub.com/dtolnay/syn/issues/1597))
### [`v2.0.52`](https://togithub.com/dtolnay/syn/releases/tag/2.0.52)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.51...2.0.52)
- Add an expression parser that uses match-arm's boundary rules ([#1593](https://togithub.com/dtolnay/syn/issues/1593))
### [`v2.0.51`](https://togithub.com/dtolnay/syn/releases/tag/2.0.51)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.50...2.0.51)
- Resolve non_local_definitions warnings in generated code under rustc 1.78-nightly
### [`v2.0.50`](https://togithub.com/dtolnay/syn/releases/tag/2.0.50)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.49...2.0.50)
- Fix unused_imports warnings when compiled by rustc 1.78
### [`v2.0.49`](https://togithub.com/dtolnay/syn/releases/tag/2.0.49)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.48...2.0.49)
- Improve error location when parsing from an empty string literal using `LitStr::parse` ([#1590](https://togithub.com/dtolnay/syn/issues/1590))
### [`v2.0.48`](https://togithub.com/dtolnay/syn/releases/tag/2.0.48)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.47...2.0.48)
- Improve error message on unexpected token after `else` ([#1578](https://togithub.com/dtolnay/syn/issues/1578))
### [`v2.0.47`](https://togithub.com/dtolnay/syn/releases/tag/2.0.47)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.46...2.0.47)
- Improve error messages related to proc_macro::LexError ([#1575](https://togithub.com/dtolnay/syn/issues/1575))
### [`v2.0.46`](https://togithub.com/dtolnay/syn/releases/tag/2.0.46)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.45...2.0.46)
- Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
### [`v2.0.45`](https://togithub.com/dtolnay/syn/releases/tag/2.0.45)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.44...2.0.45)
- Parse unsupported expressions in enum discriminants of `DeriveInput` as `Expr::Verbatim` in non-"full" mode, instead of error ([#1513](https://togithub.com/dtolnay/syn/issues/1513))
- Support parsing `PatType` with `parse_quote!` ([#1573](https://togithub.com/dtolnay/syn/issues/1573))
### [`v2.0.44`](https://togithub.com/dtolnay/syn/releases/tag/2.0.44)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.43...2.0.44)
- Documentation improvements
### [`v2.0.43`](https://togithub.com/dtolnay/syn/releases/tag/2.0.43)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.42...2.0.43)
- Insert trailing comma if not already present when printing a 1-tuple in pattern position ([#1553](https://togithub.com/dtolnay/syn/issues/1553))
### [`v2.0.42`](https://togithub.com/dtolnay/syn/releases/tag/2.0.42)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.41...2.0.42)
- Documentation improvements
### [`v2.0.41`](https://togithub.com/dtolnay/syn/releases/tag/2.0.41)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.40...2.0.41)
- Support parsing syn::Field in `parse_quote!` ([#1548](https://togithub.com/dtolnay/syn/issues/1548))
### [`v2.0.40`](https://togithub.com/dtolnay/syn/releases/tag/2.0.40)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.39...2.0.40)
- Fix some edge cases of handling None-delimited groups in expression parser ([#1539](https://togithub.com/dtolnay/syn/issues/1539), [#1541](https://togithub.com/dtolnay/syn/issues/1541), [#1542](https://togithub.com/dtolnay/syn/issues/1542), [#1543](https://togithub.com/dtolnay/syn/issues/1543), [#1544](https://togithub.com/dtolnay/syn/issues/1544), [#1545](https://togithub.com/dtolnay/syn/issues/1545))
### [`v2.0.39`](https://togithub.com/dtolnay/syn/releases/tag/2.0.39)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.38...2.0.39)
- Fix parsing of return expression in match guards ([#1528](https://togithub.com/dtolnay/syn/issues/1528))
- Improve error message on labeled loop as value expression for break ([#1531](https://togithub.com/dtolnay/syn/issues/1531))
### [`v2.0.38`](https://togithub.com/dtolnay/syn/releases/tag/2.0.38)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.37...2.0.38)
- Fix *"method 'peek' has an incompatible type for trait"* error when defining `bool` as a custom keyword ([#1518](https://togithub.com/dtolnay/syn/issues/1518), thanks [@Vanille-N](https://togithub.com/Vanille-N))
### [`v2.0.37`](https://togithub.com/dtolnay/syn/releases/tag/2.0.37)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.36...2.0.37)
- Work around incorrect future compatibility warning in rustc 1.74.0-nightly
### [`v2.0.36`](https://togithub.com/dtolnay/syn/releases/tag/2.0.36)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.35...2.0.36)
- Restore compatibility with `--generate-link-to-definition` documentation builds ([#1514](https://togithub.com/dtolnay/syn/issues/1514))
### [`v2.0.35`](https://togithub.com/dtolnay/syn/releases/tag/2.0.35)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.34...2.0.35)
- Make rust-analyzer produce preferred brackets for invocations of `Token!` macro ([#1510](https://togithub.com/dtolnay/syn/issues/1510), [#1512](https://togithub.com/dtolnay/syn/issues/1512))
### [`v2.0.34`](https://togithub.com/dtolnay/syn/releases/tag/2.0.34)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.33...2.0.34)
- Documentation improvements
### [`v2.0.33`](https://togithub.com/dtolnay/syn/releases/tag/2.0.33)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.32...2.0.33)
- Special handling for the `(/*ERROR*/)` placeholder that rustc uses for macros that fail to expand
### [`v2.0.32`](https://togithub.com/dtolnay/syn/releases/tag/2.0.32)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.31...2.0.32)
- Add `Path::require_ident` accessor ([#1496](https://togithub.com/dtolnay/syn/issues/1496), thanks [@Fancyflame](https://togithub.com/Fancyflame))
### [`v2.0.31`](https://togithub.com/dtolnay/syn/releases/tag/2.0.31)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.30...2.0.31)
- Parse generics and where-clause on const items ([https://github.com/rust-lang/rust/issues/113521](https://togithub.com/rust-lang/rust/issues/113521))
### [`v2.0.30`](https://togithub.com/dtolnay/syn/releases/tag/2.0.30)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.29...2.0.30)
- Parse unnamed struct/union type syntax ([https://github.com/rust-lang/rust/issues/49804](https://togithub.com/rust-lang/rust/issues/49804))
### [`v2.0.29`](https://togithub.com/dtolnay/syn/releases/tag/2.0.29)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.28...2.0.29)
- Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))
### [`v2.0.28`](https://togithub.com/dtolnay/syn/releases/tag/2.0.28)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.27...2.0.28)
- Fix inconsistency between full and non-full expression parse errors ([#1491](https://togithub.com/dtolnay/syn/issues/1491))
### [`v2.0.27`](https://togithub.com/dtolnay/syn/releases/tag/2.0.27)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.26...2.0.27)
- Documentation improvements (thanks [@GuillaumeGomez](https://togithub.com/GuillaumeGomez))
### [`v2.0.26`](https://togithub.com/dtolnay/syn/releases/tag/2.0.26)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.25...2.0.26)
- Implement `Spanned` for `QSelf` ([#1465](https://togithub.com/dtolnay/syn/issues/1465))
### [`v2.0.25`](https://togithub.com/dtolnay/syn/releases/tag/2.0.25)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.24...2.0.25)
- Support single identifier as unbraced const generic argument ([#1483](https://togithub.com/dtolnay/syn/issues/1483))
- Produce error message when LitStr::parse is used on a suffixed string literal ([#1484](https://togithub.com/dtolnay/syn/issues/1484))
### [`v2.0.24`](https://togithub.com/dtolnay/syn/releases/tag/2.0.24)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.23...2.0.24)
- Fix duplication of braces around const generic argument in non-full mode ([#1482](https://togithub.com/dtolnay/syn/issues/1482))
### [`v2.0.23`](https://togithub.com/dtolnay/syn/releases/tag/2.0.23)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.22...2.0.23)
- Preserve attributes on verbatim Item in statement position ([#1476](https://togithub.com/dtolnay/syn/issues/1476))
- Support generic_const_exprs where-clauses such as `where [(); { T::COUNT }]:` in non-"full" mode ([#1478](https://togithub.com/dtolnay/syn/issues/1478))
### [`v2.0.22`](https://togithub.com/dtolnay/syn/releases/tag/2.0.22)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.21...2.0.22)
- Parse `c"…"` c-string literals (tracking issue: [https://github.com/rust-lang/rust/issues/105723](https://togithub.com/rust-lang/rust/issues/105723))
### [`v2.0.21`](https://togithub.com/dtolnay/syn/releases/tag/2.0.21)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.20...2.0.21)
- Fix value computed by `LitByteStr::value` in the case of a cooked byte string literal containing form feed or vertical tab characters following an escaped newline ([#1474](https://togithub.com/dtolnay/syn/issues/1474))
### [`v2.0.20`](https://togithub.com/dtolnay/syn/releases/tag/2.0.20)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.19...2.0.20)
- Documentation improvements
### [`v2.0.19`](https://togithub.com/dtolnay/syn/releases/tag/2.0.19)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.18...2.0.19)
- Improve rendering of compile errors within 2015-edition code calling a 2018+ edition proc macro ([#1467](https://togithub.com/dtolnay/syn/issues/1467), thanks [@danielhenrymantilla](https://togithub.com/danielhenrymantilla))
### [`v2.0.18`](https://togithub.com/dtolnay/syn/releases/tag/2.0.18)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.17...2.0.18)
- Permit empty attr in syn::meta::parser ([#1460](https://togithub.com/dtolnay/syn/issues/1460))
### [`v2.0.17`](https://togithub.com/dtolnay/syn/releases/tag/2.0.17)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.16...2.0.17)
- Enable proc_macro support on wasm targets ([#1459](https://togithub.com/dtolnay/syn/issues/1459))
### [`v2.0.16`](https://togithub.com/dtolnay/syn/releases/tag/2.0.16)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.15...2.0.16)
- Parse `builtin #` syntax as Expr::Verbatim ([https://github.com/rust-lang/rust/issues/110680](https://togithub.com/rust-lang/rust/issues/110680), [#1454](https://togithub.com/dtolnay/syn/issues/1454))
### [`v2.0.15`](https://togithub.com/dtolnay/syn/releases/tag/2.0.15)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.14...2.0.15)
- Ensure `Type::Tuple` of length 1 prints as a tuple even if trailing comma is not provided in the Punctuated ([#1444](https://togithub.com/dtolnay/syn/issues/1444), thanks [@Fancyflame](https://togithub.com/Fancyflame))
### [`v2.0.14`](https://togithub.com/dtolnay/syn/releases/tag/2.0.14)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.13...2.0.14)
- Add Punctuated::pop_punct() ([#1442](https://togithub.com/dtolnay/syn/issues/1442), thanks [@programmerjake](https://togithub.com/programmerjake))
### [`v2.0.13`](https://togithub.com/dtolnay/syn/releases/tag/2.0.13)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.12...2.0.13)
- Improve spans of Expr::Field parsed from a float Literal ([#1433](https://togithub.com/dtolnay/syn/issues/1433), [#1436](https://togithub.com/dtolnay/syn/issues/1436))
### [`v2.0.12`](https://togithub.com/dtolnay/syn/releases/tag/2.0.12)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.11...2.0.12)
- Refer to `compile_error!` by absolute path in token stream produced by syn::Error::to_compile_error ([#1431](https://togithub.com/dtolnay/syn/issues/1431), thanks [@smoelius](https://togithub.com/smoelius))
### [`v2.0.11`](https://togithub.com/dtolnay/syn/releases/tag/2.0.11)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.10...2.0.11)
- Improve error message on empty parens inside parse_nested_meta ([#1428](https://togithub.com/dtolnay/syn/issues/1428))
### [`v2.0.10`](https://togithub.com/dtolnay/syn/releases/tag/2.0.10)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.9...2.0.10)
- Fix visibility being parsed incorrectly on macro invocations inside of a trait
### [`v2.0.9`](https://togithub.com/dtolnay/syn/releases/tag/2.0.9)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.8...2.0.9)
- Disallow `type` items in an extern block, trait, or module from being marked `default`
- Disallow ImplItemFn from having an omitted function body, as in `impl T { fn f(&self); }` — omitted function bodies are allowed by TraitItemFn, but in `impl` blocks this syntax is now parsed as ImplItem::Verbatim rather than ImplItem::Fn
### [`v2.0.8`](https://togithub.com/dtolnay/syn/releases/tag/2.0.8)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.7...2.0.8)
- Treat `try` keyword as 2015-edition identifier in definition of try macro ([#1422](https://togithub.com/dtolnay/syn/issues/1422))
### [`v2.0.7`](https://togithub.com/dtolnay/syn/releases/tag/2.0.7)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.6...2.0.7)
- Fix parsing of `mut self` inside of Type::BareFn
### [`v2.0.6`](https://togithub.com/dtolnay/syn/releases/tag/2.0.6)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.5...2.0.6)
- Improve error message on missing ';' between statements ([#1419](https://togithub.com/dtolnay/syn/issues/1419))
- Keep non-brace macro invocations in trailing expr position as Expr::Macro ([#1420](https://togithub.com/dtolnay/syn/issues/1420))
### [`v2.0.5`](https://togithub.com/dtolnay/syn/releases/tag/2.0.5)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.4...2.0.5)
- Expose `ExprMacro` data structure even when `features="full"` is not used ([#1417](https://togithub.com/dtolnay/syn/issues/1417))
### [`v2.0.4`](https://togithub.com/dtolnay/syn/releases/tag/2.0.4)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.3...2.0.4)
- Improve error reporting when parsing identifiers and paths ([#1415](https://togithub.com/dtolnay/syn/issues/1415), [#1416](https://togithub.com/dtolnay/syn/issues/1416))
### [`v2.0.3`](https://togithub.com/dtolnay/syn/releases/tag/2.0.3)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.2...2.0.3)
- Expose `ExprGroup` data structure even when `features="full"` is not used ([#1412](https://togithub.com/dtolnay/syn/issues/1412))
### [`v2.0.2`](https://togithub.com/dtolnay/syn/releases/tag/2.0.2)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.1...2.0.2)
- Documentation improvements
### [`v2.0.1`](https://togithub.com/dtolnay/syn/releases/tag/2.0.1)
[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.0...2.0.1)
- Add methods on syn::Meta for reporting error on an incorrect kind of attribute ([#1409](https://togithub.com/dtolnay/syn/issues/1409))
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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. View repository job log here.
This PR contains the following updates:
2.0
->2.0.66
Release Notes
dtolnay/syn (syn)
### [`v2.0.66`](https://togithub.com/dtolnay/syn/releases/tag/2.0.66) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.65...2.0.66) - Allow braced structs when parsing ExprLet ([#1671](https://togithub.com/dtolnay/syn/issues/1671)) ### [`v2.0.65`](https://togithub.com/dtolnay/syn/releases/tag/2.0.65) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.64...2.0.65) - Optimize the implementation of `Fold` to compile faster ([#1666](https://togithub.com/dtolnay/syn/issues/1666), [#1667](https://togithub.com/dtolnay/syn/issues/1667), [#1668](https://togithub.com/dtolnay/syn/issues/1668)) ### [`v2.0.64`](https://togithub.com/dtolnay/syn/releases/tag/2.0.64) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.63...2.0.64) - Support using ParseBuffer across `catch_unwind` ([#1646](https://togithub.com/dtolnay/syn/issues/1646)) - Validate that the expression in a let-else ends in brace as required by rustc ([#1648](https://togithub.com/dtolnay/syn/issues/1648), [#1649](https://togithub.com/dtolnay/syn/issues/1649)) - Legalize invalid const generic arguments by wrapping in braces ([#1654](https://togithub.com/dtolnay/syn/issues/1654), [#1655](https://togithub.com/dtolnay/syn/issues/1655)) - Fix some expression precedence edge cases involving `break` and `return` in loop headers ([#1656](https://togithub.com/dtolnay/syn/issues/1656)) - Always print closure bodies with a brace when the closure has an explicit return type ([#1658](https://togithub.com/dtolnay/syn/issues/1658)) - Automatically insert necessary parentheses in ToTokens for Expr when required by expression precedence ([#1659](https://togithub.com/dtolnay/syn/issues/1659)) - Support struct literal syntax in match guard expressions ([#1662](https://togithub.com/dtolnay/syn/issues/1662)) ### [`v2.0.63`](https://togithub.com/dtolnay/syn/releases/tag/2.0.63) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.62...2.0.63) - Parse and print long if-else-if chains without reliance on deep recursion to avoid overflowing stack ([#1644](https://togithub.com/dtolnay/syn/issues/1644), [#1645](https://togithub.com/dtolnay/syn/issues/1645)) ### [`v2.0.62`](https://togithub.com/dtolnay/syn/releases/tag/2.0.62) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.61...2.0.62) - Reject invalid unparenthesized range and comparison operator expressions ([#1642](https://togithub.com/dtolnay/syn/issues/1642), [#1643](https://togithub.com/dtolnay/syn/issues/1643)) ### [`v2.0.61`](https://togithub.com/dtolnay/syn/releases/tag/2.0.61) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.60...2.0.61) - Check for legal binding name in the ident of Pat::Ident ([#1627](https://togithub.com/dtolnay/syn/issues/1627)) - Resolve unexpected_cfgs warning ([#1635](https://togithub.com/dtolnay/syn/issues/1635)) ### [`v2.0.60`](https://togithub.com/dtolnay/syn/releases/tag/2.0.60) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.59...2.0.60) - Improve how None-delimited groups are counted by `peek` ([#1625](https://togithub.com/dtolnay/syn/issues/1625)) ### [`v2.0.59`](https://togithub.com/dtolnay/syn/releases/tag/2.0.59) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.58...2.0.59) - Parse `c"…"` and `cr"…"` C-string literal syntax as `Lit::CStr` ([#1502](https://togithub.com/dtolnay/syn/issues/1502)) ### [`v2.0.58`](https://togithub.com/dtolnay/syn/releases/tag/2.0.58) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.57...2.0.58) - Support `$` in `custom_punctuation!` macro ([#1611](https://togithub.com/dtolnay/syn/issues/1611)) ### [`v2.0.57`](https://togithub.com/dtolnay/syn/releases/tag/2.0.57) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.56...2.0.57) - Eliminate dependency on `quote` when built with default-features disabled and the "proc-macro" feature enabled ([#1608](https://togithub.com/dtolnay/syn/issues/1608), thanks [@BD103](https://togithub.com/BD103)) ### [`v2.0.56`](https://togithub.com/dtolnay/syn/releases/tag/2.0.56) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.55...2.0.56) - Apply RUSTC_WORKSPACE_WRAPPER when deciding whether to run nightly-only tests ([#1605](https://togithub.com/dtolnay/syn/issues/1605)) ### [`v2.0.55`](https://togithub.com/dtolnay/syn/releases/tag/2.0.55) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.54...2.0.55) - Restore compatibility with rustc 1.56 through 1.59 ([#1603](https://togithub.com/dtolnay/syn/issues/1603)) ### [`v2.0.54`](https://togithub.com/dtolnay/syn/releases/tag/2.0.54) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.53...2.0.54) - Fix dead code warning in generated code when using `custom_keyword!` with syn's "printing" feature disabled ([#1602](https://togithub.com/dtolnay/syn/issues/1602)) ### [`v2.0.53`](https://togithub.com/dtolnay/syn/releases/tag/2.0.53) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.52...2.0.53) - Implement Copy, Clone, and ToTokens for syn::parse::Nothing ([#1597](https://togithub.com/dtolnay/syn/issues/1597)) ### [`v2.0.52`](https://togithub.com/dtolnay/syn/releases/tag/2.0.52) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.51...2.0.52) - Add an expression parser that uses match-arm's boundary rules ([#1593](https://togithub.com/dtolnay/syn/issues/1593)) ### [`v2.0.51`](https://togithub.com/dtolnay/syn/releases/tag/2.0.51) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.50...2.0.51) - Resolve non_local_definitions warnings in generated code under rustc 1.78-nightly ### [`v2.0.50`](https://togithub.com/dtolnay/syn/releases/tag/2.0.50) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.49...2.0.50) - Fix unused_imports warnings when compiled by rustc 1.78 ### [`v2.0.49`](https://togithub.com/dtolnay/syn/releases/tag/2.0.49) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.48...2.0.49) - Improve error location when parsing from an empty string literal using `LitStr::parse` ([#1590](https://togithub.com/dtolnay/syn/issues/1590)) ### [`v2.0.48`](https://togithub.com/dtolnay/syn/releases/tag/2.0.48) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.47...2.0.48) - Improve error message on unexpected token after `else` ([#1578](https://togithub.com/dtolnay/syn/issues/1578)) ### [`v2.0.47`](https://togithub.com/dtolnay/syn/releases/tag/2.0.47) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.46...2.0.47) - Improve error messages related to proc_macro::LexError ([#1575](https://togithub.com/dtolnay/syn/issues/1575)) ### [`v2.0.46`](https://togithub.com/dtolnay/syn/releases/tag/2.0.46) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.45...2.0.46) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache ### [`v2.0.45`](https://togithub.com/dtolnay/syn/releases/tag/2.0.45) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.44...2.0.45) - Parse unsupported expressions in enum discriminants of `DeriveInput` as `Expr::Verbatim` in non-"full" mode, instead of error ([#1513](https://togithub.com/dtolnay/syn/issues/1513)) - Support parsing `PatType` with `parse_quote!` ([#1573](https://togithub.com/dtolnay/syn/issues/1573)) ### [`v2.0.44`](https://togithub.com/dtolnay/syn/releases/tag/2.0.44) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.43...2.0.44) - Documentation improvements ### [`v2.0.43`](https://togithub.com/dtolnay/syn/releases/tag/2.0.43) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.42...2.0.43) - Insert trailing comma if not already present when printing a 1-tuple in pattern position ([#1553](https://togithub.com/dtolnay/syn/issues/1553)) ### [`v2.0.42`](https://togithub.com/dtolnay/syn/releases/tag/2.0.42) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.41...2.0.42) - Documentation improvements ### [`v2.0.41`](https://togithub.com/dtolnay/syn/releases/tag/2.0.41) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.40...2.0.41) - Support parsing syn::Field in `parse_quote!` ([#1548](https://togithub.com/dtolnay/syn/issues/1548)) ### [`v2.0.40`](https://togithub.com/dtolnay/syn/releases/tag/2.0.40) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.39...2.0.40) - Fix some edge cases of handling None-delimited groups in expression parser ([#1539](https://togithub.com/dtolnay/syn/issues/1539), [#1541](https://togithub.com/dtolnay/syn/issues/1541), [#1542](https://togithub.com/dtolnay/syn/issues/1542), [#1543](https://togithub.com/dtolnay/syn/issues/1543), [#1544](https://togithub.com/dtolnay/syn/issues/1544), [#1545](https://togithub.com/dtolnay/syn/issues/1545)) ### [`v2.0.39`](https://togithub.com/dtolnay/syn/releases/tag/2.0.39) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.38...2.0.39) - Fix parsing of return expression in match guards ([#1528](https://togithub.com/dtolnay/syn/issues/1528)) - Improve error message on labeled loop as value expression for break ([#1531](https://togithub.com/dtolnay/syn/issues/1531)) ### [`v2.0.38`](https://togithub.com/dtolnay/syn/releases/tag/2.0.38) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.37...2.0.38) - Fix *"method 'peek' has an incompatible type for trait"* error when defining `bool` as a custom keyword ([#1518](https://togithub.com/dtolnay/syn/issues/1518), thanks [@Vanille-N](https://togithub.com/Vanille-N)) ### [`v2.0.37`](https://togithub.com/dtolnay/syn/releases/tag/2.0.37) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.36...2.0.37) - Work around incorrect future compatibility warning in rustc 1.74.0-nightly ### [`v2.0.36`](https://togithub.com/dtolnay/syn/releases/tag/2.0.36) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.35...2.0.36) - Restore compatibility with `--generate-link-to-definition` documentation builds ([#1514](https://togithub.com/dtolnay/syn/issues/1514)) ### [`v2.0.35`](https://togithub.com/dtolnay/syn/releases/tag/2.0.35) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.34...2.0.35) - Make rust-analyzer produce preferred brackets for invocations of `Token!` macro ([#1510](https://togithub.com/dtolnay/syn/issues/1510), [#1512](https://togithub.com/dtolnay/syn/issues/1512)) ### [`v2.0.34`](https://togithub.com/dtolnay/syn/releases/tag/2.0.34) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.33...2.0.34) - Documentation improvements ### [`v2.0.33`](https://togithub.com/dtolnay/syn/releases/tag/2.0.33) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.32...2.0.33) - Special handling for the `(/*ERROR*/)` placeholder that rustc uses for macros that fail to expand ### [`v2.0.32`](https://togithub.com/dtolnay/syn/releases/tag/2.0.32) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.31...2.0.32) - Add `Path::require_ident` accessor ([#1496](https://togithub.com/dtolnay/syn/issues/1496), thanks [@Fancyflame](https://togithub.com/Fancyflame)) ### [`v2.0.31`](https://togithub.com/dtolnay/syn/releases/tag/2.0.31) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.30...2.0.31) - Parse generics and where-clause on const items ([https://github.com/rust-lang/rust/issues/113521](https://togithub.com/rust-lang/rust/issues/113521)) ### [`v2.0.30`](https://togithub.com/dtolnay/syn/releases/tag/2.0.30) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.29...2.0.30) - Parse unnamed struct/union type syntax ([https://github.com/rust-lang/rust/issues/49804](https://togithub.com/rust-lang/rust/issues/49804)) ### [`v2.0.29`](https://togithub.com/dtolnay/syn/releases/tag/2.0.29) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.28...2.0.29) - Partially work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911)) ### [`v2.0.28`](https://togithub.com/dtolnay/syn/releases/tag/2.0.28) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.27...2.0.28) - Fix inconsistency between full and non-full expression parse errors ([#1491](https://togithub.com/dtolnay/syn/issues/1491)) ### [`v2.0.27`](https://togithub.com/dtolnay/syn/releases/tag/2.0.27) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.26...2.0.27) - Documentation improvements (thanks [@GuillaumeGomez](https://togithub.com/GuillaumeGomez)) ### [`v2.0.26`](https://togithub.com/dtolnay/syn/releases/tag/2.0.26) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.25...2.0.26) - Implement `Spanned` for `QSelf` ([#1465](https://togithub.com/dtolnay/syn/issues/1465)) ### [`v2.0.25`](https://togithub.com/dtolnay/syn/releases/tag/2.0.25) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.24...2.0.25) - Support single identifier as unbraced const generic argument ([#1483](https://togithub.com/dtolnay/syn/issues/1483)) - Produce error message when LitStr::parse is used on a suffixed string literal ([#1484](https://togithub.com/dtolnay/syn/issues/1484)) ### [`v2.0.24`](https://togithub.com/dtolnay/syn/releases/tag/2.0.24) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.23...2.0.24) - Fix duplication of braces around const generic argument in non-full mode ([#1482](https://togithub.com/dtolnay/syn/issues/1482)) ### [`v2.0.23`](https://togithub.com/dtolnay/syn/releases/tag/2.0.23) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.22...2.0.23) - Preserve attributes on verbatim Item in statement position ([#1476](https://togithub.com/dtolnay/syn/issues/1476)) - Support generic_const_exprs where-clauses such as `where [(); { T::COUNT }]:` in non-"full" mode ([#1478](https://togithub.com/dtolnay/syn/issues/1478)) ### [`v2.0.22`](https://togithub.com/dtolnay/syn/releases/tag/2.0.22) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.21...2.0.22) - Parse `c"…"` c-string literals (tracking issue: [https://github.com/rust-lang/rust/issues/105723](https://togithub.com/rust-lang/rust/issues/105723)) ### [`v2.0.21`](https://togithub.com/dtolnay/syn/releases/tag/2.0.21) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.20...2.0.21) - Fix value computed by `LitByteStr::value` in the case of a cooked byte string literal containing form feed or vertical tab characters following an escaped newline ([#1474](https://togithub.com/dtolnay/syn/issues/1474)) ### [`v2.0.20`](https://togithub.com/dtolnay/syn/releases/tag/2.0.20) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.19...2.0.20) - Documentation improvements ### [`v2.0.19`](https://togithub.com/dtolnay/syn/releases/tag/2.0.19) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.18...2.0.19) - Improve rendering of compile errors within 2015-edition code calling a 2018+ edition proc macro ([#1467](https://togithub.com/dtolnay/syn/issues/1467), thanks [@danielhenrymantilla](https://togithub.com/danielhenrymantilla)) ### [`v2.0.18`](https://togithub.com/dtolnay/syn/releases/tag/2.0.18) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.17...2.0.18) - Permit empty attr in syn::meta::parser ([#1460](https://togithub.com/dtolnay/syn/issues/1460)) ### [`v2.0.17`](https://togithub.com/dtolnay/syn/releases/tag/2.0.17) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.16...2.0.17) - Enable proc_macro support on wasm targets ([#1459](https://togithub.com/dtolnay/syn/issues/1459)) ### [`v2.0.16`](https://togithub.com/dtolnay/syn/releases/tag/2.0.16) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.15...2.0.16) - Parse `builtin #` syntax as Expr::Verbatim ([https://github.com/rust-lang/rust/issues/110680](https://togithub.com/rust-lang/rust/issues/110680), [#1454](https://togithub.com/dtolnay/syn/issues/1454)) ### [`v2.0.15`](https://togithub.com/dtolnay/syn/releases/tag/2.0.15) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.14...2.0.15) - Ensure `Type::Tuple` of length 1 prints as a tuple even if trailing comma is not provided in the Punctuated ([#1444](https://togithub.com/dtolnay/syn/issues/1444), thanks [@Fancyflame](https://togithub.com/Fancyflame)) ### [`v2.0.14`](https://togithub.com/dtolnay/syn/releases/tag/2.0.14) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.13...2.0.14) - Add Punctuated::pop_punct() ([#1442](https://togithub.com/dtolnay/syn/issues/1442), thanks [@programmerjake](https://togithub.com/programmerjake)) ### [`v2.0.13`](https://togithub.com/dtolnay/syn/releases/tag/2.0.13) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.12...2.0.13) - Improve spans of Expr::Field parsed from a float Literal ([#1433](https://togithub.com/dtolnay/syn/issues/1433), [#1436](https://togithub.com/dtolnay/syn/issues/1436)) ### [`v2.0.12`](https://togithub.com/dtolnay/syn/releases/tag/2.0.12) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.11...2.0.12) - Refer to `compile_error!` by absolute path in token stream produced by syn::Error::to_compile_error ([#1431](https://togithub.com/dtolnay/syn/issues/1431), thanks [@smoelius](https://togithub.com/smoelius)) ### [`v2.0.11`](https://togithub.com/dtolnay/syn/releases/tag/2.0.11) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.10...2.0.11) - Improve error message on empty parens inside parse_nested_meta ([#1428](https://togithub.com/dtolnay/syn/issues/1428)) ### [`v2.0.10`](https://togithub.com/dtolnay/syn/releases/tag/2.0.10) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.9...2.0.10) - Fix visibility being parsed incorrectly on macro invocations inside of a trait ### [`v2.0.9`](https://togithub.com/dtolnay/syn/releases/tag/2.0.9) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.8...2.0.9) - Disallow `type` items in an extern block, trait, or module from being marked `default` - Disallow ImplItemFn from having an omitted function body, as in `impl T { fn f(&self); }` — omitted function bodies are allowed by TraitItemFn, but in `impl` blocks this syntax is now parsed as ImplItem::Verbatim rather than ImplItem::Fn ### [`v2.0.8`](https://togithub.com/dtolnay/syn/releases/tag/2.0.8) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.7...2.0.8) - Treat `try` keyword as 2015-edition identifier in definition of try macro ([#1422](https://togithub.com/dtolnay/syn/issues/1422)) ### [`v2.0.7`](https://togithub.com/dtolnay/syn/releases/tag/2.0.7) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.6...2.0.7) - Fix parsing of `mut self` inside of Type::BareFn ### [`v2.0.6`](https://togithub.com/dtolnay/syn/releases/tag/2.0.6) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.5...2.0.6) - Improve error message on missing ';' between statements ([#1419](https://togithub.com/dtolnay/syn/issues/1419)) - Keep non-brace macro invocations in trailing expr position as Expr::Macro ([#1420](https://togithub.com/dtolnay/syn/issues/1420)) ### [`v2.0.5`](https://togithub.com/dtolnay/syn/releases/tag/2.0.5) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.4...2.0.5) - Expose `ExprMacro` data structure even when `features="full"` is not used ([#1417](https://togithub.com/dtolnay/syn/issues/1417)) ### [`v2.0.4`](https://togithub.com/dtolnay/syn/releases/tag/2.0.4) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.3...2.0.4) - Improve error reporting when parsing identifiers and paths ([#1415](https://togithub.com/dtolnay/syn/issues/1415), [#1416](https://togithub.com/dtolnay/syn/issues/1416)) ### [`v2.0.3`](https://togithub.com/dtolnay/syn/releases/tag/2.0.3) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.2...2.0.3) - Expose `ExprGroup` data structure even when `features="full"` is not used ([#1412](https://togithub.com/dtolnay/syn/issues/1412)) ### [`v2.0.2`](https://togithub.com/dtolnay/syn/releases/tag/2.0.2) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.1...2.0.2) - Documentation improvements ### [`v2.0.1`](https://togithub.com/dtolnay/syn/releases/tag/2.0.1) [Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.0...2.0.1) - Add methods on syn::Meta for reporting error on an incorrect kind of attribute ([#1409](https://togithub.com/dtolnay/syn/issues/1409))Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR has been generated by Mend Renovate. View repository job log here.