Macro macros::concat_idents
source · concat_idents!() { /* proc-macro */ }
Expand description
Concatenate two identifiers.
This is useful in macros that need to declare or reference items with names starting with a fixed prefix and ending in a user specified name. The resulting identifier has the span of the second argument.
Examples
ⓘ
use kernel::macro::concat_idents;
macro_rules! pub_no_prefix {
($prefix:ident, $($newname:ident),+) => {
$(pub(crate) const $newname: u32 = kernel::macros::concat_idents!($prefix, $newname);)+
};
}
pub_no_prefix!(
binder_driver_return_protocol_,
BR_OK,
BR_ERROR,
BR_TRANSACTION,
BR_REPLY,
BR_DEAD_REPLY,
BR_TRANSACTION_COMPLETE,
BR_INCREFS,
BR_ACQUIRE,
BR_RELEASE,
BR_DECREFS,
BR_NOOP,
BR_SPAWN_LOOPER,
BR_DEAD_BINDER,
BR_CLEAR_DEATH_NOTIFICATION_DONE,
BR_FAILED_REPLY
);
assert_eq!(BR_OK, binder_driver_return_protocol_BR_OK);