From 0d5b42b0e27629a50a0140907d3caa3eb449f5cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Aug 2026 11:23:07 +0000 Subject: [PATCH 1/2] Bump syn from 2.0.118 to 3.0.3 in /autorust Bumps [syn](https://github.com/dtolnay/syn) from 2.0.118 to 3.0.3. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.118...3.0.3) --- updated-dependencies: - dependency-name: syn dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- autorust/Cargo.lock | 55 ++++++++++++++++++++++--------------- autorust/codegen/Cargo.toml | 2 +- 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/autorust/Cargo.lock b/autorust/Cargo.lock index 4d12b163..6ff28c42 100644 --- a/autorust/Cargo.lock +++ b/autorust/Cargo.lock @@ -173,7 +173,7 @@ dependencies = [ "rustc-hash", "serde", "serde_derive", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -355,7 +355,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "syn 2.0.118", + "syn 3.0.3", "thiserror 2.0.18", "toml", ] @@ -495,7 +495,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -602,7 +602,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -776,7 +776,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -787,7 +787,7 @@ checksum = "e79f8e61677d5df9167cd85265f8e5f64b215cdea3fb55eebc3e622e44c7a146" dependencies = [ "darling_core", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -822,7 +822,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -1044,7 +1044,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -1680,7 +1680,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -1862,7 +1862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" dependencies = [ "proc-macro2", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2199,7 +2199,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2439,9 +2439,20 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.118" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" dependencies = [ "proc-macro2", "quote", @@ -2465,7 +2476,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2540,7 +2551,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2551,7 +2562,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2937,7 +2948,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "wasm-bindgen-shared", ] @@ -2972,7 +2983,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3239,7 +3250,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "synstructure", ] @@ -3260,7 +3271,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -3280,7 +3291,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "synstructure", ] @@ -3320,7 +3331,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] diff --git a/autorust/codegen/Cargo.toml b/autorust/codegen/Cargo.toml index 17798b63..fe841f08 100644 --- a/autorust/codegen/Cargo.toml +++ b/autorust/codegen/Cargo.toml @@ -21,7 +21,7 @@ comrak = "0.54" serde = "1" http-types = "2" once_cell = "1" -syn = { version = "2", features = ["parsing"] } +syn = { version = "3", features = ["parsing"] } camino = "1" askama = "0.16" toml = "1.1" From a6aa62a81a6303d933fbe9355dc827abe27f71e7 Mon Sep 17 00:00:00 2001 From: John Batty Date: Mon, 10 Aug 2026 15:32:22 +0100 Subject: [PATCH 2/2] Migrate autorust codegen to syn 3.0 API Adapt codegen.rs to syn 3.0 breaking changes so the generator compiles with syn 3: TraitBoundModifier enum replaced by TraitBoundModifiers struct plus a separate `maybe` field, mandatory `attrs` on Type variants, and removal of the From<...> for Type impls (use explicit variants). Generated crate output is byte-identical. Co-Authored-By: Claude Opus 4.8 (1M context) --- autorust/codegen/src/codegen.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/autorust/codegen/src/codegen.rs b/autorust/codegen/src/codegen.rs index ee13b0a7..742728e5 100644 --- a/autorust/codegen/src/codegen.rs +++ b/autorust/codegen/src/codegen.rs @@ -16,7 +16,7 @@ use syn::{ punctuated::Punctuated, token::{Gt, Impl, Lt}, AngleBracketedGenericArguments, GenericArgument, Path, PathArguments, PathSegment, TraitBound, - TraitBoundModifier, Type, TypeImplTrait, TypeParamBound, TypePath, TypeReference, + TraitBoundModifiers, Type, TypeImplTrait, TypeParamBound, TypePath, TypeReference, }; /// code generation context @@ -299,21 +299,22 @@ impl TypeNameCode { if self.allow_qualify_models && self.qualify_models { tp.path.segments.insert(0, id_models().into()); } - let mut tp = Type::from(tp); + let mut tp = Type::Path(tp); for _ in 0..self.vec_count { tp = generic_type(tp_vec(), tp); } if self.force_value { - tp = Type::from(tp_json_value()) + tp = Type::Path(tp_json_value()) } if self.is_reference() { let tr = TypeReference { + attrs: Vec::new(), and_token: Default::default(), lifetime: Default::default(), mutability: Default::default(), elem: Box::new(tp), }; - tp = Type::from(tr); + tp = Type::Reference(tr); } if self.boxed { tp = generic_type(tp_box(), tp); @@ -327,13 +328,15 @@ impl TypeNameCode { let bound = TraitBound { path: path.path, paren_token: None, - modifier: TraitBoundModifier::None, + modifiers: TraitBoundModifiers::default(), + maybe: None, lifetimes: None, }; let bound = TypeParamBound::Trait(bound); let mut bounds = Punctuated::new(); bounds.push(bound); tp = Type::ImplTrait(TypeImplTrait { + attrs: Vec::new(), bounds, impl_token: Impl::default(), }); @@ -378,7 +381,7 @@ fn generic_type(mut wrap_tp: TypePath, tp: Type) -> Type { if let Some(v) = wrap_tp.path.segments.last_mut() { v.arguments = arguments } - Type::from(wrap_tp) + Type::Path(wrap_tp) } impl From for TypeNameCode { @@ -434,7 +437,11 @@ fn segments_to_type_path(segments: Vec) -> TypePath { segments: punctuated, leading_colon: None, }; - TypePath { path, qself: None } + TypePath { + attrs: Vec::new(), + path, + qself: None, + } } fn idents_to_type_path(idents: Vec) -> TypePath {