239
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 31 Jan 2026
239 points (98.8% liked)
Programmer Humor
29083 readers
1404 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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
I recently learned you can pass a
&Stringto a&strparameter, so that's neat.Ah yeah, via deref coercion, which is also called "auto-dereferencing" at times. Not to be confused with "auto-referencing", which is also a thing^1.
You can do some wild shit with deref coercion. And when I say "wild", I guess, I'm talking about the most normal thing for Java devs, because well, it's a lot like inheritance. 😅
Basically, this concept of being able to pass
&Stringinto a parameter that takes&stralso applies to theselfparameter. Or in other words, methods implemented onstrcan also be called onString, as ifString extends str.And well, obviously you can also make use of that yourself, by writing your own wrapper type. You can even "override" existing methods in a sense by re-defining them in the wrapper type.
I had to play around a bit with it myself, so here's a playground: https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=af65ed396dec88c8406163acaa1f8f8d
Welp, I posted my hot take that
impl Derefis similar to inheritance as a meme in !rust@lemmy.ml: https://lemmy.ml/post/42514248Now, let's see how many feathers get ruffled. 🙃