61
submitted 1 day ago* (last edited 1 day ago) by little_ferris@programming.dev to c/rust@programming.dev

If we were to create a Rust version of this page for Haskell, what cool programming techniques would you add to it?

you are viewing a single comment's thread
view the rest of the comments
[-] SorteKanin@feddit.dk 25 points 1 day ago

Not exactly the same thing but this is still pretty funny. This is code that is technically 100% legal Rust but you should definitely never write such code 😅.

[-] silasmariner@programming.dev 2 points 20 hours ago

This is excellent content

[-] AsudoxDev@programming.dev 10 points 1 day ago
[-] SorteKanin@feddit.dk 18 points 1 day ago

It's a test for the compiler which ensures that these legal yet extremely weird expressions continue to compile as the compiler is updated. So there is a purpose to the madness but it does still look pretty funny.

[-] nilloc@discuss.tchncs.de 2 points 4 hours ago

That’s make sense. We used to write some ridiculous tests too, but users still managed to find a way


fn union() {
    union union<'union> { union: &'union union<'union>, }
}

Is my favorite.

[-] barsoap@lemm.ee 3 points 23 hours ago* (last edited 9 hours ago)

That makes complete sense. Ranges implement fmt::Debug, .. is a range, in particular the full range (all values) ..= isn't because the upper bound is missing but ..=.. ranges from the beginning to the... full range. Which doesn't make sense semantically but you can debug print it so add a couple more nested calls and you get a punch card.

I totally didn't need the Rust playground to figure that out.

EDIT: Oh, glossed over that: .. is only the full range if standing alone, it's also an infix operator which is why you can add as many as you want (be careful with whitespace, though). .. .. .. .. .. .. .. .. .. .. is a valid Rust expression.

this post was submitted on 16 Oct 2024
61 points (96.9% liked)

Rust

5876 readers
71 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS