zlacker

[parent] [thread] 3 comments
1. empath+(OP)[view] [source] 2025-08-22 16:00:28
> It's never been clear to me where such a type is actually useful. In what cases do you really need to restrict it to valid UTF-8?

Because 99.999% of the time you want it to be valid and would like an error if it isn't? If you want to work with invalid UTF-8, that should be a deliberate choice.

replies(1): >>maxdam+v6
2. maxdam+v6[view] [source] 2025-08-22 16:34:40
>>empath+(OP)
Do you want grep to crash when your text file turned out to have a partially written character in it? 99.999% seems very high, and you haven't given an actual use case for the restriction.
replies(2): >>gf000+Hg >>empath+7h
◧◩
3. gf000+Hg[view] [source] [discussion] 2025-08-22 17:26:12
>>maxdam+v6
Crash? No. But I can safely handle the error where it happens, because the language actually helps me with this situation by returning a proper Result type. So I have to explicitly check which "variant" I have, instead of forgetting to call the validate function in case of go.
◧◩
4. empath+7h[view] [source] [discussion] 2025-08-22 17:28:32
>>maxdam+v6
Rust doesn't crash when it gets an error unless you tell it to. You make a choice how to handle the error because you have to it or it won't compile. If you don't care about losing information when reading a file, you can use the lossy function that gracefully handles invalid bytes.
[go to top]