I'm having some trouble with the embedded hal on a stm32f103...using the latest versions of the crates. Here's an example to create the issue. ``` #![allow(dead_code)] pub struct Foo where PIN: embedded_hal::digital::InputPin { pin: PIN } impl Foo where PIN: embedded_hal::digital::InputPin { pub fn new(pin: PIN) -> Self { Self { pin } } } #[cfg(test)] mod test { use super::*; use stm32f1xx_hal::{pac, prelude::*, serial::{Config, Serial}}; fn test_foo() { let dp = pac::Peripherals::take().unwrap(); let mut gpiob = dp.GPIOB.split(); let pin = gpiob.pb13.into_pull_up_input(&mut gpiob.crh); let mut foobar = Foo::new(pin); } } ``` error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'B', 13, stm32f1xx_hal::gpio::Input>: InputPin` is not satisfied --> src\foo.rs:24:35 | 24 | let mut foobar = Foo::new(pin); | -------- ^^^ the trait `InputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'B', 13, stm32f1xx_hal::gpio::Input>` | | | required by a bound introduced by this call | = help: the trait `InputPin` is implemented for `&mut T` note: required by a bound in `foo::Foo::::new` --> src\foo.rs:9:12 | 9 | where PIN: embedded_hal::digital::InputPin | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Foo::::new` 10 | { 11 | pub fn new(pin: PIN) -> Self { | --- required by a bound in this associated function error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'B', 13, stm32f1xx_hal::gpio::Input>: InputPin` is not satisfied --> src\foo.rs:24:26 | 24 | let mut foobar = Foo::new(pin); | ^^^^^^^^^^^^^ the trait `InputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'B', 13, stm32f1xx_hal::gpio::Input>` | = help: the trait `InputPin` is implemented for `&mut T` note: required by a bound in `foo::Foo` --> src\foo.rs:3:12 | 2 | pub struct Foo | --- required by a bound in this struct 3 | where PIN: embedded_hal::digital::InputPin | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Foo` Some errors have detailed explanations: E0277, E0463. For more information about an error, try `rustc --explain E0277`. ``` > cargo test