UPSTREAM: rust: macros: update 'paste!' macro to accept string literals
Enable combining identifiers with literals in the 'paste!' macro. This
allows combining user-specified strings with affixes to create
namespaced identifiers.
This sample code:
macro_rules! m {
($name:lit) => {
paste!(struct [<_some_ $name _struct_>] {})
}
}
m!("foo_bar");
Would previously cause a compilation error. It will now generate:
struct _some_foo_bar_struct_ {}
Signed-off-by:
Trevor Gross <tmgross@umich.edu>
Reviewed-by:
Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Reviewed-by:
Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Reviewed-by:
Alice Ryhl <aliceryhl@google.com>
Reviewed-by:
Benno Lossin <benno.lossin@proton.me>
Reviewed-by:
Gary Guo <gary@garyguo.net>
Link: https://lore.kernel.org/r/20231118013959.37384-1-tmgross@umich.edu
[ Added `:` before example block. ]
Signed-off-by:
Miguel Ojeda <ojeda@kernel.org>
[ Upstream commit 2dc318ea ]
Change-Id: Ia7dd5c1e5bdf20740614c0e602217d0447c151e6
Signed-off-by:
Alice Ryhl <aliceryhl@google.com>
Loading
Please sign in to comment