@@ -112,7 +112,7 @@ where
112
112
table. length as usize - mem:: size_of :: < SdtHeader > ( ) ,
113
113
)
114
114
} ;
115
- interpreter. load_table ( stream) . map_err ( |err| AcpiError :: Aml ( err ) ) ?;
115
+ interpreter. load_table ( stream) . map_err ( AcpiError :: Aml ) ?;
116
116
Ok ( ( ) )
117
117
}
118
118
@@ -308,7 +308,7 @@ where
308
308
Opcode :: Increment | Opcode :: Decrement => {
309
309
let [ Argument :: Object ( operand) ] = & op. arguments [ ..] else { panic ! ( ) } ;
310
310
let token = self . object_token . lock ( ) ;
311
- let Object :: Integer ( operand) = ( unsafe { operand. gain_mut ( & * token) } ) else {
311
+ let Object :: Integer ( operand) = ( unsafe { operand. gain_mut ( & token) } ) else {
312
312
Err ( AmlError :: ObjectNotOfExpectedType {
313
313
expected : ObjectType :: Integer ,
314
314
got : operand. typ ( ) ,
@@ -564,7 +564,7 @@ where
564
564
}
565
565
Opcode :: Store => {
566
566
let [ Argument :: Object ( object) , target] = & op. arguments [ ..] else { panic ! ( ) } ;
567
- self . do_store ( & target, object. clone ( ) ) ?;
567
+ self . do_store ( target, object. clone ( ) ) ?;
568
568
context. retire_op ( op) ;
569
569
}
570
570
Opcode :: RefOf => {
@@ -788,7 +788,7 @@ where
788
788
}
789
789
}
790
790
BlockKind :: Scope { old_scope } => {
791
- assert ! ( context. block_stack. len ( ) > 0 ) ;
791
+ assert ! ( ! context. block_stack. is_empty ( ) ) ;
792
792
context. current_block = context. block_stack . pop ( ) . unwrap ( ) ;
793
793
context. current_scope = old_scope;
794
794
// Go round the loop again to get the next opcode for the new block
@@ -804,7 +804,7 @@ where
804
804
* *distinct* uninitialized objects, and go round again to complete the
805
805
* in-flight op.
806
806
*/
807
- assert ! ( context. block_stack. len ( ) > 0 ) ;
807
+ assert ! ( ! context. block_stack. is_empty ( ) ) ;
808
808
809
809
if let Some ( package_op) = context. in_flight . last_mut ( )
810
810
&& ( package_op. op == Opcode :: Package || package_op. op == Opcode :: VarPackage )
@@ -1626,7 +1626,7 @@ where
1626
1626
* Apparently, the NT interpreter always uses the first 8 bytes of the buffer.
1627
1627
*/
1628
1628
let mut to_interpret = [ 0u8 ; 8 ] ;
1629
- ( to_interpret[ 0 ..usize:: min ( bytes. len ( ) , 8 ) ] ) . copy_from_slice ( & bytes) ;
1629
+ ( to_interpret[ 0 ..usize:: min ( bytes. len ( ) , 8 ) ] ) . copy_from_slice ( bytes) ;
1630
1630
Object :: Integer ( u64:: from_le_bytes ( to_interpret) )
1631
1631
}
1632
1632
Object :: String ( ref value) => {
@@ -1642,8 +1642,9 @@ where
1642
1642
} ) ?;
1643
1643
Object :: Integer ( parsed)
1644
1644
} else {
1645
- let parsed = u64:: from_str_radix ( value, 10 ) . map_err ( |_| {
1646
- AmlError :: InvalidOperationOnObject { op : Operation :: ToInteger , typ : ObjectType :: String }
1645
+ let parsed = str:: parse :: < u64 > ( value) . map_err ( |_| AmlError :: InvalidOperationOnObject {
1646
+ op : Operation :: ToInteger ,
1647
+ typ : ObjectType :: String ,
1647
1648
} ) ?;
1648
1649
Object :: Integer ( parsed)
1649
1650
}
@@ -1694,7 +1695,7 @@ where
1694
1695
Object :: String ( ref value) => Object :: String ( value. clone ( ) ) ,
1695
1696
Object :: Integer ( value) => match op. op {
1696
1697
Opcode :: ToDecimalString => Object :: String ( value. to_string ( ) ) ,
1697
- Opcode :: ToHexString => Object :: String ( alloc:: format!( "{:#x}" , value ) ) ,
1698
+ Opcode :: ToHexString => Object :: String ( alloc:: format!( "{value :#x}" ) ) ,
1698
1699
_ => panic ! ( ) ,
1699
1700
} ,
1700
1701
Object :: Buffer ( ref bytes) => {
@@ -1704,8 +1705,8 @@ where
1704
1705
let mut string = String :: new ( ) ;
1705
1706
for byte in bytes {
1706
1707
let as_str = match op. op {
1707
- Opcode :: ToDecimalString => alloc:: format!( "{}," , byte ) ,
1708
- Opcode :: ToHexString => alloc:: format!( "{:#04X}," , byte ) ,
1708
+ Opcode :: ToDecimalString => alloc:: format!( "{byte }," ) ,
1709
+ Opcode :: ToHexString => alloc:: format!( "{byte :#04X}," ) ,
1709
1710
_ => panic ! ( ) ,
1710
1711
} ;
1711
1712
string. push_str ( & as_str) ;
@@ -1773,15 +1774,15 @@ where
1773
1774
fn resolve_as_string ( obj : & Object ) -> String {
1774
1775
match obj {
1775
1776
Object :: Uninitialized => "[Uninitialized Object]" . to_string ( ) ,
1776
- Object :: Buffer ( bytes) => String :: from_utf8_lossy ( & bytes) . into_owned ( ) ,
1777
+ Object :: Buffer ( bytes) => String :: from_utf8_lossy ( bytes) . into_owned ( ) ,
1777
1778
Object :: BufferField { .. } => "[Buffer Field]" . to_string ( ) ,
1778
1779
Object :: Device => "[Device]" . to_string ( ) ,
1779
1780
Object :: Event => "[Event]" . to_string ( ) ,
1780
1781
Object :: FieldUnit ( _) => "[Field]" . to_string ( ) ,
1781
1782
Object :: Integer ( value) => value. to_string ( ) ,
1782
1783
Object :: Method { .. } | Object :: NativeMethod { .. } => "[Control Method]" . to_string ( ) ,
1783
1784
Object :: Mutex { .. } => "[Mutex]" . to_string ( ) ,
1784
- Object :: Reference { inner, .. } => resolve_as_string ( & * ( inner. clone ( ) . unwrap_reference ( ) ) ) ,
1785
+ Object :: Reference { inner, .. } => resolve_as_string ( & ( inner. clone ( ) . unwrap_reference ( ) ) ) ,
1785
1786
Object :: OpRegion ( _) => "[Operation Region]" . to_string ( ) ,
1786
1787
Object :: Package ( _) => "[Package]" . to_string ( ) ,
1787
1788
Object :: PowerResource { .. } => "[Power Resource]" . to_string ( ) ,
@@ -1813,7 +1814,7 @@ where
1813
1814
buffer. extend ( source2. to_buffer ( if self . dsdt_revision >= 2 { 8 } else { 4 } ) ?) ;
1814
1815
Object :: Buffer ( buffer) . wrap ( )
1815
1816
}
1816
- ObjectType :: String | _ => {
1817
+ _ => {
1817
1818
let source1 = resolve_as_string ( & source1) ;
1818
1819
let source2 = resolve_as_string ( & source2) ;
1819
1820
Object :: String ( source1 + & source2) . wrap ( )
@@ -1944,14 +1945,14 @@ where
1944
1945
let to_return = object. clone ( ) ;
1945
1946
1946
1947
match target {
1947
- Argument :: Object ( target) => match unsafe { target. gain_mut ( & * token) } {
1948
- Object :: Integer ( target) => match unsafe { object. gain_mut ( & * token) } {
1948
+ Argument :: Object ( target) => match unsafe { target. gain_mut ( & token) } {
1949
+ Object :: Integer ( target) => match unsafe { object. gain_mut ( & token) } {
1949
1950
Object :: Integer ( value) => {
1950
1951
* target = * value;
1951
1952
}
1952
1953
Object :: BufferField { .. } => {
1953
1954
let mut buffer = [ 0u8 ; 8 ] ;
1954
- unsafe { object. gain_mut ( & * token) } . read_buffer_field ( & mut buffer) ?;
1955
+ unsafe { object. gain_mut ( & token) } . read_buffer_field ( & mut buffer) ?;
1955
1956
let value = u64:: from_le_bytes ( buffer) ;
1956
1957
* target = value;
1957
1958
}
@@ -1964,12 +1965,12 @@ where
1964
1965
* target = as_integer;
1965
1966
}
1966
1967
} ,
1967
- Object :: BufferField { .. } => match unsafe { object. gain_mut ( & * token) } {
1968
+ Object :: BufferField { .. } => match unsafe { object. gain_mut ( & token) } {
1968
1969
Object :: Integer ( value) => {
1969
- unsafe { target. gain_mut ( & * token) } . write_buffer_field ( & value. to_le_bytes ( ) , & * token) ?;
1970
+ unsafe { target. gain_mut ( & token) } . write_buffer_field ( & value. to_le_bytes ( ) , & token) ?;
1970
1971
}
1971
1972
Object :: Buffer ( value) => {
1972
- unsafe { target. gain_mut ( & * token) } . write_buffer_field ( & value. as_slice ( ) , & * token) ?;
1973
+ unsafe { target. gain_mut ( & token) } . write_buffer_field ( value. as_slice ( ) , & token) ?;
1973
1974
}
1974
1975
_ => panic ! ( ) ,
1975
1976
} ,
@@ -1982,20 +1983,20 @@ where
1982
1983
// TODO: this should store into the reference, potentially doing an
1983
1984
// implicit cast
1984
1985
unsafe {
1985
- * inner_inner. gain_mut ( & * token) = object. gain_mut ( & * token) . clone ( ) ;
1986
+ * inner_inner. gain_mut ( & token) = object. gain_mut ( & token) . clone ( ) ;
1986
1987
}
1987
1988
} else {
1988
1989
// Overwrite the value
1989
1990
unsafe {
1990
- * inner. gain_mut ( & * token) = object. gain_mut ( & * token) . clone ( ) ;
1991
+ * inner. gain_mut ( & token) = object. gain_mut ( & token) . clone ( ) ;
1991
1992
}
1992
1993
}
1993
1994
}
1994
1995
ReferenceKind :: Unresolved => todo ! ( ) ,
1995
1996
}
1996
1997
}
1997
1998
Object :: Debug => {
1998
- self . handler . handle_debug ( & * object) ;
1999
+ self . handler . handle_debug ( & object) ;
1999
2000
}
2000
2001
_ => panic ! ( "Stores to objects like {:?} are not yet supported" , target) ,
2001
2002
} ,
@@ -2090,7 +2091,7 @@ where
2090
2091
2091
2092
let value_bytes = match & * value {
2092
2093
Object :: Integer ( value) => & value. to_le_bytes ( ) as & [ u8 ] ,
2093
- Object :: Buffer ( bytes) => & bytes,
2094
+ Object :: Buffer ( bytes) => bytes,
2094
2095
_ => Err ( AmlError :: ObjectNotOfExpectedType { expected : ObjectType :: Integer , got : value. typ ( ) } ) ?,
2095
2096
} ;
2096
2097
let access_width_bits = field. flags . access_type_bytes ( ) ? * 8 ;
@@ -2173,7 +2174,7 @@ where
2173
2174
1 => self . handler . read_u8 ( address) as u64 ,
2174
2175
2 => self . handler . read_u16 ( address) as u64 ,
2175
2176
4 => self . handler . read_u32 ( address) as u64 ,
2176
- 8 => self . handler . read_u64 ( address) as u64 ,
2177
+ 8 => self . handler . read_u64 ( address) ,
2177
2178
_ => panic ! ( ) ,
2178
2179
}
2179
2180
} ) ,
@@ -2230,7 +2231,7 @@ where
2230
2231
) ;
2231
2232
2232
2233
match region. space {
2233
- RegionSpace :: SystemMemory => Ok ( {
2234
+ RegionSpace :: SystemMemory => {
2234
2235
let address = region. base as usize + offset;
2235
2236
match length {
2236
2237
1 => self . handler . write_u8 ( address, value as u8 ) ,
@@ -2239,16 +2240,18 @@ where
2239
2240
8 => self . handler . write_u64 ( address, value) ,
2240
2241
_ => panic ! ( ) ,
2241
2242
}
2242
- } ) ,
2243
- RegionSpace :: SystemIO => Ok ( {
2243
+ Ok ( ( ) )
2244
+ }
2245
+ RegionSpace :: SystemIO => {
2244
2246
let address = region. base as u16 + offset as u16 ;
2245
2247
match length {
2246
2248
1 => self . handler . write_io_u8 ( address, value as u8 ) ,
2247
2249
2 => self . handler . write_io_u16 ( address, value as u16 ) ,
2248
2250
4 => self . handler . write_io_u32 ( address, value as u32 ) ,
2249
2251
_ => panic ! ( ) ,
2250
2252
}
2251
- } ) ,
2253
+ Ok ( ( ) )
2254
+ }
2252
2255
RegionSpace :: PciConfig => {
2253
2256
let address = self . pci_address_for_device ( & region. parent_device_path ) ?;
2254
2257
match length {
@@ -2434,10 +2437,10 @@ impl MethodContext {
2434
2437
}
2435
2438
2436
2439
fn contribute_arg ( & mut self , arg : Argument ) {
2437
- if let Some ( in_flight) = self . in_flight . last_mut ( ) {
2438
- if in_flight. arguments . len ( ) < in_flight. expected_arguments {
2439
- in_flight . arguments . push ( arg ) ;
2440
- }
2440
+ if let Some ( in_flight) = self . in_flight . last_mut ( )
2441
+ && in_flight. arguments . len ( ) < in_flight. expected_arguments
2442
+ {
2443
+ in_flight . arguments . push ( arg ) ;
2441
2444
}
2442
2445
}
2443
2446
0 commit comments