From c5dc35f840bc518c034a359c87392db873b6fac7 Mon Sep 17 00:00:00 2001 From: AudaciousAxiom <179637270+AudaciousAxiom@users.noreply.github.com> Date: Wed, 5 Aug 2026 09:49:14 +0200 Subject: [PATCH 1/2] refactor(cortex-m-rt-macros): bump `syn` to v3 --- cortex-m-rt/macros/Cargo.toml | 2 +- cortex-m-rt/macros/src/lib.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cortex-m-rt/macros/Cargo.toml b/cortex-m-rt/macros/Cargo.toml index 1058c5d5..7f4348fc 100644 --- a/cortex-m-rt/macros/Cargo.toml +++ b/cortex-m-rt/macros/Cargo.toml @@ -19,4 +19,4 @@ proc-macro2 = "1.0" [dependencies.syn] features = ["extra-traits", "full"] -version = "2.0" +version = "3.0" diff --git a/cortex-m-rt/macros/src/lib.rs b/cortex-m-rt/macros/src/lib.rs index 94e4e29d..bd9155a8 100644 --- a/cortex-m-rt/macros/src/lib.rs +++ b/cortex-m-rt/macros/src/lib.rs @@ -240,7 +240,7 @@ pub fn exception(args: TokenStream, input: TokenStream) -> TokenStream { } }; - if f.sig.unsafety.is_none() { + if !matches!(f.sig.safety, syn::Safety::Unsafe(_)) { match exn { Exception::DefaultHandler | Exception::HardFault(_) | Exception::NonMaskableInt => { // These are unsafe to define. @@ -635,7 +635,7 @@ pub fn pre_init(args: TokenStream, input: TokenStream) -> TokenStream { // check the function signature let valid_signature = f.sig.constness.is_none() && f.vis == Visibility::Inherited - && f.sig.unsafety.is_some() + && matches!(f.sig.safety, syn::Safety::Unsafe(_)) && f.sig.abi.is_none() && f.sig.inputs.is_empty() && f.sig.generics.params.is_empty() From 3ed9ea5b19d0de51f6a3ea9e5e7ca5a055ec2f62 Mon Sep 17 00:00:00 2001 From: AudaciousAxiom <179637270+AudaciousAxiom@users.noreply.github.com> Date: Wed, 5 Aug 2026 09:46:14 +0200 Subject: [PATCH 2/2] chore(cortex-m-macros): allow `syn` v3 --- cortex-m/macros/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cortex-m/macros/Cargo.toml b/cortex-m/macros/Cargo.toml index 143ac8d6..4441a303 100644 --- a/cortex-m/macros/Cargo.toml +++ b/cortex-m/macros/Cargo.toml @@ -15,7 +15,7 @@ proc-macro = true [dependencies] proc-macro2 = "1.0.106" quote = "1.0.45" -syn = { version = "2.0.117", features = ["extra-traits", "full"] } +syn = { version = ">= 2.0.117, < 4", features = ["extra-traits", "full"] } [dev-dependencies] macrotest = "1.2.1"