#macro #bad #create #ever #world #dis #worst

funkjon

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

3 stable releases

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

#754 in Rust patterns

38 downloads per month

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