ryankurte / embedded-hal-compat

Rust embedded-hal inter-version compatibility layer
MIT License
15 stars 11 forks source link

Doctests are broken #11

Closed nathaniel-brough closed 2 years ago

nathaniel-brough commented 2 years ago

At the moment doc tests are broken for the 'digital' module.

e.g. running cargo test on the latest commit fails with the following error.

error[E0271]: type mismatch resolving `<OutputPin0_2 as embedded_hal::digital::v2::InputPin>::Error == Infallible`
  --> src/lib.rs:24:56
   |
15 |  let _ = eh1_0::digital::blocking::OutputPin::set_high(&mut new);
   |          --------------------------------------------- ^^^^^^^^ expected enum `Infallible`, found `()`
   |          |
   |          required by a bound introduced by this call
   |
   = note: required because of the requirements on the impl of `embedded_hal::digital::blocking::OutputPin` for `Forward<OutputPin0_2>`

error[E0277]: the trait bound `OutputPin0_2: _embedded_hal_digital_InputPin` is not satisfied
  --> src/lib.rs:24:56
   |
15 |  let _ = eh1_0::digital::blocking::OutputPin::set_high(&mut new);
   |          --------------------------------------------- ^^^^^^^^ the trait `_embedded_hal_digital_InputPin` is not implemented for `OutputPin0_2`
   |          |
   |          required by a bound introduced by this call
   |
   = help: the trait `_embedded_hal_digital_InputPin` is implemented for `OldInputPin<T>`
   = note: required because of the requirements on the impl of `embedded_hal::digital::v2::InputPin` for `OutputPin0_2`
   = note: required because of the requirements on the impl of `embedded_hal::digital::ErrorType` for `Forward<OutputPin0_2>`
note: required by a bound in `embedded_hal::digital::blocking::OutputPin::set_high`
  --> /home/codespace/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-hal-1.0.0-alpha.7/src/digital.rs:63:26
   |
63 |     pub trait OutputPin: super::ErrorType {
   |                          ^^^^^^^^^^^^^^^^ required by this bound in `embedded_hal::digital::blocking::OutputPin::set_high`

error[E0277]: the trait bound `OutputPin0_2: _embedded_hal_digital_InputPin` is not satisfied
  --> src/lib.rs:24:10
   |
15 |  let _ = eh1_0::digital::blocking::OutputPin::set_high(&mut new);
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `_embedded_hal_digital_InputPin` is not implemented for `OutputPin0_2`
   |
   = help: the trait `_embedded_hal_digital_InputPin` is implemented for `OldInputPin<T>`
   = note: required because of the requirements on the impl of `embedded_hal::digital::v2::InputPin` for `OutputPin0_2`
   = note: required because of the requirements on the impl of `embedded_hal::digital::ErrorType` for `Forward<OutputPin0_2>`
note: required by a bound in `embedded_hal::digital::blocking::OutputPin::set_high`
  --> /home/codespace/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-hal-1.0.0-alpha.7/src/digital.rs:63:26
   |
63 |     pub trait OutputPin: super::ErrorType {
   |                          ^^^^^^^^^^^^^^^^ required by this bound in `embedded_hal::digital::blocking::OutputPin::set_high`