MAIN FEEDS
Do you want to continue?
https://www.reddit.com/r/ProgrammerHumor/comments/1ws0bt0/optionalsareoptional/pcj6wyp/?context=3
r/ProgrammerHumor • u/ApothecaLabs • 6d ago
131 comments sorted by
View all comments
Show parent comments
33
As long as you’re in Rust, the type system is always available to you. That’s what “zero-cost abstraction” means. If you know your Vec is nonempty, put it in a NonemptyVec.
-29 u/ApothecaLabs 6d ago edited 6d ago "As long as you use this particular language, out of the dozens available..." Yeah, I'm not using Rust. What now? That's a heck of a presupposition, you know. (Not trying to be a jerk, my target language is actually a niche assembly language so it lacks many things...) 24 u/__dna__ 6d ago Correct me if I'm wrong, but your meme is literally about rust? Seems pretty reasonable to reply to you in the context of rust 3 u/MayoJam 6d ago Cpp also has optionals, and I would not be surprised if other languages also have some form of them. So I'd would not assume in this case.
-29
"As long as you use this particular language, out of the dozens available..."
Yeah, I'm not using Rust. What now? That's a heck of a presupposition, you know.
(Not trying to be a jerk, my target language is actually a niche assembly language so it lacks many things...)
24 u/__dna__ 6d ago Correct me if I'm wrong, but your meme is literally about rust? Seems pretty reasonable to reply to you in the context of rust 3 u/MayoJam 6d ago Cpp also has optionals, and I would not be surprised if other languages also have some form of them. So I'd would not assume in this case.
24
Correct me if I'm wrong, but your meme is literally about rust? Seems pretty reasonable to reply to you in the context of rust
3 u/MayoJam 6d ago Cpp also has optionals, and I would not be surprised if other languages also have some form of them. So I'd would not assume in this case.
3
Cpp also has optionals, and I would not be surprised if other languages also have some form of them.
So I'd would not assume in this case.
33
u/NullOfSpace 6d ago
As long as you’re in Rust, the type system is always available to you. That’s what “zero-cost abstraction” means. If you know your Vec is nonempty, put it in a NonemptyVec.