@@ -85,29 +85,19 @@ fn device_to_hid_device_info(raw_device: &udev::Device) -> Option<Vec<DeviceInfo
8585 _ => return None ,
8686 } ;
8787
88- let ( bus, vid, pid) = match device
88+ let ( bus, vid, pid) = device
8989 . property_value ( "HID_ID" )
9090 . and_then ( |s| s. to_str ( ) )
91- . and_then ( parse_hid_vid_pid)
92- {
93- Some ( t) => t,
94- None => return None ,
95- } ;
91+ . and_then ( parse_hid_vid_pid) ?;
9692 let bus_type = match bus {
9793 BUS_USB => BusType :: Usb ,
9894 BUS_BLUETOOTH => BusType :: Bluetooth ,
9995 BUS_I2C => BusType :: I2c ,
10096 BUS_SPI => BusType :: Spi ,
10197 _ => return None ,
10298 } ;
103- let name = match device. property_value ( "HID_NAME" ) {
104- Some ( name) => name,
105- None => return None ,
106- } ;
107- let serial = match device. property_value ( "HID_UNIQ" ) {
108- Some ( serial) => serial,
109- None => return None ,
110- } ;
99+ let name = device. property_value ( "HID_NAME" ) ?;
100+ let serial = device. property_value ( "HID_UNIQ" ) ?;
111101 let path = match raw_device
112102 . devnode ( )
113103 . map ( |p| p. as_os_str ( ) . to_os_string ( ) . into_vec ( ) )
@@ -244,10 +234,7 @@ impl<'a> Iterator for UsageIterator<'a> {
244234 type Item = ( u16 , u16 ) ;
245235
246236 fn next ( & mut self ) -> Option < Self :: Item > {
247- let ( usage_page, page) = match next_hid_usage ( & mut self . cursor , self . usage_page ) {
248- Some ( n) => n,
249- None => return None ,
250- } ;
237+ let ( usage_page, page) = next_hid_usage ( & mut self . cursor , self . usage_page ) ?;
251238
252239 self . usage_page = usage_page;
253240 Some ( ( usage_page, page) )
@@ -267,10 +254,7 @@ fn next_hid_usage(cursor: &mut Cursor<&Vec<u8>>, mut usage_page: u16) -> Option<
267254 let position = cursor. position ( ) - 1 ;
268255 let key_cmd = key & 0xfc ;
269256
270- let ( data_len, key_size) = match hid_item_size ( key, cursor) {
271- Some ( v) => v,
272- None => return None ,
273- } ;
257+ let ( data_len, key_size) = hid_item_size ( key, cursor) ?;
274258
275259 match key_cmd {
276260 // Usage Page 6.2.2.7 (Global)
@@ -468,7 +452,7 @@ impl HidDevice {
468452 } )
469453 }
470454
471- fn info ( & self ) -> HidResult < Ref < DeviceInfo > > {
455+ fn info ( & self ) -> HidResult < Ref < ' _ , DeviceInfo > > {
472456 if self . info . borrow ( ) . is_none ( ) {
473457 let info = self . get_device_info ( ) ?;
474458 self . info . replace ( Some ( info) ) ;
@@ -480,7 +464,7 @@ impl HidDevice {
480464}
481465
482466impl AsFd for HidDevice {
483- fn as_fd ( & self ) -> BorrowedFd {
467+ fn as_fd ( & self ) -> BorrowedFd < ' _ > {
484468 self . fd . as_fd ( )
485469 }
486470}
0 commit comments