Result::flatten() is probably my favorite addition, but those lifetime linter changes might be really good, too.
I'm more excited about File::lock and friends. I don't currently have a use-case, but surely it'll help w/ something like a SQLite implementation in Rust.
Result::flatten() is probably my favorite addition
It's rare to a have a negative reaction to a library addition. But I don't like this one at all actually.
For me, error contexts are as important as the errors themselves. And ergonomically helping with muddying these contexts is not a good thing!
What scenarios do you envision a Result<Result<T, E>, E> having a different meaning than a Result<T, E>? To me, the messy Result type just seems like a case of something that should've been handled already (or properly propagated up).
Result::flatten()
is probably my favorite addition, but those lifetime linter changes might be really good, too.I'm more excited about
File::lock
and friends. I don't currently have a use-case, but surely it'll help w/ something like a SQLite implementation in Rust.https://turso.tech/ ?
It's rare to a have a negative reaction to a library addition. But I don't like this one at all actually.
For me, error contexts are as important as the errors themselves. And ergonomically helping with muddying these contexts is not a good thing!
What scenarios do you envision a Result<Result<T, E>, E> having a different meaning than a Result<T, E>? To me, the messy Result type just seems like a case of something that should've been handled already (or properly propagated up).