The confusion probably came from using the smbus name in your struct as the name of the generic: ```rust pub struct LCDDashboard { i2c_device: Smbus, bitfield: LCDDashboardBitfield, } ``` This would be better IMO: ```rust pub struct LCDDashboard { i2c_device: S, bitfield: LCDDashboardBitfield, } ```