#macro #bad #greet #name #create #ever #world

funkjon

One of the worst macros this world has ever been (dis)graced with

3 stable releases

1.0.2 Apr 12, 2024
1.0.1 Jan 24, 2024
1.0.0 Jan 19, 2024

#703 in Rust patterns

MIT license

5KB
55 lines

Funkjon - a bad macro

With funkjon, you too can create your very own function.

Usage:

funkjon!(greet :: name {
    println!("Hello, {name}.");
} as (String) -> Unit);

greet("David".to_string());

By the way, Unit is the return type. It is equivalent to (). You can change it by just putting something other than Unit next to the right arrow (->).

Usage with generics:

funkjon!(greet ::<T: std::fmt::Display>:: name {
    println!("Hello, {name}.");
} as (T) -> Unit);

greet("David");

Or with a where clause

funkjon!(greet ::<T>:: name {
    println!("Hello, {name}.");
} as (T) -> Unit
    where T: std::fmt::Display,
);

greet("David");

No runtime deps