macros rust

¿Pueden las macros Rust crear cadenas de tiempo de compilación?



(1)

¡Parece que quieres stringify! :

macro_rules! some { ( $var:expr ) => ( stringify!($var) ); } fn main() { let s = some!(1); println!("{}", s); }

¡Y probablemente quieras concat! también.

Las variables macro se escapan en las macros Rust de forma predeterminada. ¿Hay alguna forma de evitar que escapen?

macro_rules! some { ( $var:expr ) => ( "$var" ); } some!(1) // returns "$var", not "1"

Esto es útil para concatenar cadenas de tiempo de compilación y cosas por el estilo.