diondokter[m]: > <@diondokter:matrix.org> What do you mean your crate can't be used anymore? > > I assume you have your own error type? > > ```rust > enum Error { > Hal(HAL_ERROR), > } > > impl core::error::Error for Error { > // ... > } > ``` > > Just do this. Your error will implement the trait if the embedded-hal error also implements it i've done it like this, that works: https://github.com/rust-embedded-community/tb6612fng-rs/pull/51/commits/f93d2e8122f1217031fc9800349ab3affbe7b561 but as written: i cannot implement `cause` if i'm not enforcing the HAL errors to also implement `core::error::Error`. and if i do that then my implementation of the `Error` trait is useless without the HALs also implementing it as the trait bound will not be satisfied for the `impl` but yeah, the crate can still be used, just not the `Error` part (for a moment i thought that it wouldn't compile at all, but of course it still compiles as long as you don't want to use the `Error` trait impl). so i guess it'd be ok and anyone wanting to use the `Error` trait impl can "just" implement it in the HAL and then use the updated HAL?