4 releases
0.1.7 | Aug 3, 2024 |
---|---|
0.1.6 | Aug 3, 2024 |
0.1.5 | Aug 3, 2024 |
0.1.0 | Aug 3, 2024 |
#1338 in Rust patterns
3KB
HelloMacro
HelloMacro
is a Rust procedural macro that automatically implements the HelloMacro
trait for any struct or enum. This trait includes a single method, hello_macro
, which prints a greeting message including the name of the type.
Usage
To use the HelloMacro
derive macro, add it as a dependency in your Cargo.toml
:
[dependencies]
bogdan_hello_macro = "0.1.7"
bogdan_hello_macro_derive = "0.1.7"
Add the following to your code:
use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;
Then, you can use the HelloMacro derive macro on any struct or enum:
use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;
#[derive(HelloMacro)]
struct Pancakes;
fn main() {
Pancakes::hello_macro(); // Prints: "Hello, Macro! My name is Pancakes!"
}
Example
Here’s a complete example demonstrating how to use the HelloMacro derive macro:
use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;
#[derive(HelloMacro)]
struct Waffles;
#[derive(HelloMacro)]
enum Breakfast {
Eggs,
Bacon,
}
fn main() {
Waffles::hello_macro(); // Prints: "Hello, Macro! My name is Waffles!"
Breakfast::Eggs.hello_macro(); // Prints: "Hello, Macro! My name is Eggs!"
Breakfast::Bacon.hello_macro(); // Prints: "Hello, Macro! My name is Bacon!"
}