this post was submitted on 13 Aug 2023
7 points (88.9% liked)
Rust
7219 readers
85 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A vec and a string are basically the same thing (a series of bytes)
In the context of vectors I prefer my APIs to return an empty set rather than an None-option. This makes handling it much easier because you can still iterate over it, it just has nothing.
This might involve the compiler making an allocation of an empty array but most of them (gcc, ghc) will now what you are doing and optimize the null check on the empty array to a bool check.
I can see that argument. But you can also iterate over an Option-wrapped response with something like
for x in xs.into_iter().flatten() { ... }
, and theOption
gives you an extra bit of information that can be helpful in certain cases.Vec::new is const and thus can’t allocate anyways.