3 ms·
The more I've used the language, I'm starting to think that this decision makes sense in the context of Zig. Common string operations involve allocation, non-co
by floobertoober 3y ago
The more I've used the language, I'm starting to think that this decision makes sense in the context of Zig. Common string operations involve allocation, non-constant time access, etc. I can definitely understand how strange that sounds without the rest of the language around it as context, though.
- deagle50 3y agothe inclusion of `bufPrint` in the standard library is really nice, you can just give it a pointer to an array. If you want to make a string on the stack in Rust you have to pull in something with a `Writer` trait like `ArrayVec` and use `write!`.
- tialaramex 3y agoRust's String requires allocation, but str (typically seen as the fat pointer type &str) does not. "The cat sat on the mat".split('a') is an iterator over sub-strings, no more allocation needed here than for 105u32.leading_zeros() A lot of the Rust string API lives in str, not String.