#match #macro #variables #pattern

match_self

Rust macro for the common "x = match x {" pattern

2 releases

0.1.1 Aug 1, 2022
0.1.0 Aug 1, 2022

#102 in #match

MIT license

4KB

match_self

Rust macro for the common "x = match x" pattern

Usage

Have you ever written something like this?

really_long_variable_name = match really_long_variable_name {
    ...
}

The issue here is that we have to write the name really_long_variable_name twice.
If we only had to do it once, there would really be no issue when it comes to the readability.
However, there is no "match itself" syntax in Rust, and that is exactly what this crate provides!

The crate defines a match_self macro, which takes a variable and lets you match itself, as the name suggests.

match_self!(really_long_variable_name, {
    ...
})

The macro is a declarative macro, and because of that, it has to imitate the syntax of regular Rust match statements. However, the macro expands into a normal match statement at compile time.


lib.rs:

match_self

Rust macro for the common "x = match x" pattern

Usage

Have you ever written something like this?

really_long_variable_name = match really_long_variable_name {
    ...
}

The issue here is that we have to write the name really_long_variable_name twice.
If we only had to do it once, there would really be no issue when it comes to the readability.
However, there is no "match itself" syntax in Rust, and that is exactly what this crate provides!

The crate defines a match_self macro, which takes a variable and lets you match itself, as the name suggests.

match_self!(really_long_variable_name, {
    ...
})

The macro is a declarative macro, and because of that, it has to imitate the syntax of regular Rust match statements. However, the macro expands into a normal match statement at compile time.

No runtime deps