macro_rules! event_message {
($s:expr) => { ... };
}Expand description
Constructs an EventMessage with guaranteed compile-time validation.
This macro ensures that:
- The message is validated in a
constcontext. - No runtime checks are ever emitted.
- The resulting value is as cheap as a
&'static str.
§Why this macro is recommended
Even inside non-const functions, Rust evaluates the validation inside a
compile-time const item. This makes the macro strictly superior to calling
EventMessage::new directly at runtime.
§Examples
use limen_core::prelude::event_message::EventMessage;
use limen_core::event_message;
let msg = event_message!("startup_complete");
println!("{}", msg.as_str());Invalid messages cause compile-time errors:
ⓘ
use limen_core::prelude::event_message::EventMessage;
use limen_core::event_message;
let bad = event_message!("line1\nline2");ⓘ
use limen_core::prelude::event_message::EventMessage;
use limen_core::event_message;
let too_long = event_message!(
"12345678901234567890123456789012345678901234567890\
12345678901234567890123456789012345678901234567890\
123456789012345678901234567890"
);