The solution however, is cursed (in embassy-stm32):
```rs
    g.extend(quote! {
        pin_trait_impl!(crate::eth::RefClkPin, ETH, PD7, 11);
        pin_trait_impl!(crate::eth::MDCPin, ETH, PB2, 11);
        pin_trait_impl!(crate::eth::CRSPin, ETH, PA7, 11);
        pin_trait_impl!(crate::eth::RXD0Pin, ETH, PC4, 11);
        pin_trait_impl!(crate::eth::RXD1Pin, ETH, PC5, 11);
        pin_trait_impl!(crate::eth::TXD0Pin, ETH, PB0, 11);
        pin_trait_impl!(crate::eth::TXD1Pin, ETH, PB1, 11);
        pin_trait_impl!(crate::eth::TXEnPin, ETH, PG11, 11);
    });
```