This replaces all uses of the Failure crate with thiserror. I also used this as an opportunity to improve the quality and granularity of the errors and messages. Rather than one single error type enum being used for everything, new error enums were introduced that have a more focused purpose.
This replaces all uses of the Failure crate with thiserror. I also used this as an opportunity to improve the quality and granularity of the errors and messages. Rather than one single error type enum being used for everything, new error enums were introduced that have a more focused purpose.