@@ -251,14 +251,14 @@ impl LinuxI2CBus {
251
251
}
252
252
253
253
/// Linux I2C message
254
- pub type LinuxI2CMessage = ffi:: i2c_msg ;
254
+ pub type LinuxI2CMessage < ' a > = ffi:: i2c_msg ;
255
255
256
- impl I2CBus for LinuxI2CBus {
256
+ impl < ' a > I2CBus < ' a > for LinuxI2CBus {
257
257
type Error = LinuxI2CError ;
258
- type Message = LinuxI2CMessage ;
258
+ type Message = LinuxI2CMessage < ' a > ;
259
259
260
260
/// Issue the provided sequence of I2C transactions
261
- fn transfer ( & mut self , msgs : & mut [ Self :: Message ] ) -> Result < u32 , LinuxI2CError > {
261
+ fn transfer ( & mut self , msgs : & ' a mut [ Self :: Message ] ) -> Result < u32 , LinuxI2CError > {
262
262
ffi:: i2c_rdwr ( self . as_raw_fd ( ) , msgs) . map_err ( From :: from)
263
263
}
264
264
}
@@ -288,8 +288,8 @@ bitflags! {
288
288
}
289
289
}
290
290
291
- impl I2CMessage for LinuxI2CMessage {
292
- fn read ( slave_address : u16 , data : & mut [ u8 ] ) -> LinuxI2CMessage {
291
+ impl < ' a > I2CMessage < ' a > for LinuxI2CMessage < ' a > {
292
+ fn read ( slave_address : u16 , data : & ' a mut [ u8 ] ) -> LinuxI2CMessage {
293
293
Self {
294
294
addr : slave_address,
295
295
flags : I2CMessageFlags :: READ . bits ( ) ,
@@ -298,7 +298,7 @@ impl I2CMessage for LinuxI2CMessage {
298
298
}
299
299
}
300
300
301
- fn write ( slave_address : u16 , data : & [ u8 ] ) -> LinuxI2CMessage {
301
+ fn write ( slave_address : u16 , data : & ' a [ u8 ] ) -> LinuxI2CMessage {
302
302
Self {
303
303
addr : slave_address,
304
304
flags : I2CMessageFlags :: empty ( ) . bits ( ) ,
@@ -308,7 +308,7 @@ impl I2CMessage for LinuxI2CMessage {
308
308
}
309
309
}
310
310
311
- impl LinuxI2CMessage {
311
+ impl < ' a > LinuxI2CMessage < ' a > {
312
312
pub fn with_flags ( self , flags : I2CMessageFlags ) -> Self {
313
313
Self {
314
314
addr : self . addr ,
0 commit comments