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::macros::concat_idents;
macro_rules! pub_no_prefix {
    ($prefix:ident, $($newname:ident),+) => {
        $(pub(crate) const $newname: u32 = 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);