| ▲ | iknowstuff 2 hours ago | ||||||||||||||||
Rust does not have three error systems. It has one: the Error trait. io::Error is one of many that implement it (nothing special about it). Errors defined via thiserror also implement it. “Anyhow” just allows you to conveniently say “some Error” if you don’t care to write out an API contract specifying types of errors your function might spit out. | |||||||||||||||||
| ▲ | tptacek an hour ago | parent [-] | ||||||||||||||||
He's not making that up; in practice, you're going to run into and need to make mental space for the idiosyncrasies of multiple error frameworks. | |||||||||||||||||
| |||||||||||||||||