bogdan_hello_macro_derive

Crates.iobogdan_hello_macro_derive
lib.rsbogdan_hello_macro_derive
version0.1.7
sourcesrc
created_at2024-08-03 21:04:39.603025
updated_at2024-08-03 21:22:07.679149
descriptionadds the method hello_macro that generates a greeting based on the name of the struct
homepage
repository
max_upload_size
id1324538
size7,253
Bogdan Savianu (BogdanSavianu)

documentation

README

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!"
}
Commit count: 0

cargo fmt