| Crates.io | bogdan_hello_macro_derive |
| lib.rs | bogdan_hello_macro_derive |
| version | 0.1.7 |
| created_at | 2024-08-03 21:04:39.603025+00 |
| updated_at | 2024-08-03 21:22:07.679149+00 |
| description | adds the method hello_macro that generates a greeting based on the name of the struct |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1324538 |
| size | 7,253 |
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.
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!"
}
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!"
}