Currently the thread_priority::Error type does not implement Rust's standard error trait, std::error::Error. This means that user code cannot use the ? operator in certain contexts. Examples include when using the anyhow error handling library or as part of a function that is generic over the type of error that may be returned (Box<dyn std::error::Error>). Some Rust libraries and developers may expect that types representing errors will implement std::error::Error.
This PR adds the trait implementation so that thread_priority::Error integrates more readily with the rest of the Rust ecosystem.
As a demonstration, I also refactored the should_be_possible_to_reset_the_same_priority() unit test to work with the ? operator. The code in the new unit test was a compile error until std::error::Error was implemented.
Currently the
thread_priority::Error
type does not implement Rust's standard error trait,std::error::Error
. This means that user code cannot use the?
operator in certain contexts. Examples include when using theanyhow
error handling library or as part of a function that is generic over the type of error that may be returned (Box<dyn std::error::Error>
). Some Rust libraries and developers may expect that types representing errors will implementstd::error::Error
.This PR adds the trait implementation so that
thread_priority::Error
integrates more readily with the rest of the Rust ecosystem.As a demonstration, I also refactored the
should_be_possible_to_reset_the_same_priority()
unit test to work with the?
operator. The code in the new unit test was a compile error untilstd::error::Error
was implemented.