¿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.