this post was submitted on 17 Dec 2025
490 points (96.2% liked)

Programmer Humor

28001 readers
690 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] asdfasdfasdf@lemmy.world 43 points 6 days ago (11 children)

Hard disagree. Super beautiful.

[–] 30p87@feddit.org -4 points 5 days ago (10 children)

Average Rust code:

macro_rules! sum {
    ( $initial:expr $(, $expr:expr )* $(,)? ) => {
        $initial $(+ $expr)*
    }
}

fn remove_prefix<'a>(mut original: &'a str, prefix: &str) -> &'a str

let mut up = 1;
    'outer: loop {

Hell I don't want to know what you define as ugly then.

[–] asdfasdfasdf@lemmy.world 22 points 5 days ago* (last edited 5 days ago) (6 children)
  1. Macro syntax technically isn't even Rust
  2. This is definitely not average Rust code.
[–] tatterdemalion@programming.dev 1 points 5 days ago (2 children)

Sorry, I love Rust but I can't really agree with you here. They only showed a macro_rules! definition, which is definitely rust syntax. Lifetime annotations are relatively common.

I will concede that loop labels are incredibly rare though.

[–] fruitcantfly@programming.dev 4 points 5 days ago

Loop labels are rare, but they lead to much simpler/clearer code when you need them. Consider how you would implement this kind of loop in a language without loop variables:

'outer: while (...) {
    'inner: while (...) {
        if (...) {
            // this breaks out of the outer loop, not just the inner loop
            break 'outer;
        }
    }

    // some code here
}

In C/C++ you'd need to do something like

bool condition = false;
while (...) {
    while (...) {
        if (...) {
            condition = true;
            break;
        }
    }
    if (condition) {
        break;
    }

    // some code here
}

Personally, I wouldn't call it ugly, either, but that's mostly a matter of taste

[–] asdfasdfasdf@lemmy.world 1 points 4 days ago (1 children)

I guess I see what you mean if we want to get very technical about what a syntax extension is. But I think for the purpose of this discussion, it's reasonable to think of macro_rules! as a part of the Rust language. Practically speaking, it is syntax provided by the language team, not just users of the language who are free to extend the syntax by using macro_rules! to do so.

load more comments (3 replies)
load more comments (6 replies)
load more comments (6 replies)