From 41b92783ad62decd9ca9a28184717d94cc1738e0 Mon Sep 17 00:00:00 2001 From: iriri <32588326+iriri@users.noreply.github.com> Date: Mon, 2 Dec 2024 21:16:40 -0800 Subject: [PATCH] Fix build with 1.81 As of 1.81, `stringify` appears to always insert spaces between tokens, resulting in type names like `std :: io :: File`. Switching to `concat` avoids this issue. Due to the use of `local_inner_macros`, we fully qualify `concat` and `stringify` in the definition of `field_decl_inner`. --- vm/src/api/mac.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm/src/api/mac.rs b/vm/src/api/mac.rs index c155e28a33..68dc29fc41 100644 --- a/vm/src/api/mac.rs +++ b/vm/src/api/mac.rs @@ -177,7 +177,7 @@ macro_rules! field_decl_inner { record_field_inner_struct!{ $field $($suffix)* } impl $crate::api::record::Field for last_ident!($field $($suffix)*) { fn name() -> &'static str { - stringify_inner!($field $( :: $suffix)* ) + ::std::concat!(::std::stringify!($field), $("::", ::std::stringify!($suffix)),*) } fn args() -> &'static [&'static str] { &[$(stringify_inner!($args)),*]