Crates.io | bogdan_hello_macro_derive |
lib.rs | bogdan_hello_macro_derive |
version | 0.1.7 |
source | src |
created_at | 2024-08-03 21:04:39.603025 |
updated_at | 2024-08-03 21:22:07.679149 |
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!"
}