@@ -7,7 +7,6 @@ use std::fs::File;
7
7
use std:: io:: { BufReader , Write } ;
8
8
use std:: path:: { Path , PathBuf } ;
9
9
use std:: str:: FromStr ;
10
- use std:: u32;
11
10
12
11
use quick_xml:: { events:: Event , Reader } ;
13
12
@@ -330,7 +329,7 @@ impl MavEnum {
330
329
value = quote ! ( #cnt) ;
331
330
} else {
332
331
let tmp_value = enum_entry. value . unwrap ( ) ;
333
- cnt = cnt. max ( tmp_value as u32 ) ;
332
+ cnt = cnt. max ( tmp_value) ;
334
333
let tmp = TokenStream :: from_str ( & tmp_value. to_string ( ) ) . unwrap ( ) ;
335
334
value = quote ! ( #tmp) ;
336
335
} ;
@@ -366,7 +365,7 @@ impl MavEnum {
366
365
367
366
#[ cfg( feature = "emit-description" ) ]
368
367
let description = if let Some ( description) = self . description . as_ref ( ) {
369
- let desc = format ! ( "{ description}" ) ;
368
+ let desc = description. to_string ( ) ;
370
369
quote ! ( #[ doc = #desc] )
371
370
} else {
372
371
quote ! ( )
@@ -1007,7 +1006,7 @@ pub enum MavXmlElement {
1007
1006
Extensions ,
1008
1007
}
1009
1008
1010
- fn identify_element ( s : & [ u8 ] ) -> Option < MavXmlElement > {
1009
+ const fn identify_element ( s : & [ u8 ] ) -> Option < MavXmlElement > {
1011
1010
use self :: MavXmlElement :: * ;
1012
1011
match s {
1013
1012
b"version" => Some ( Version ) ,
@@ -1072,7 +1071,7 @@ pub fn parse_profile(
1072
1071
let mut events: Vec < Result < Event , quick_xml:: Error > > = Vec :: new ( ) ;
1073
1072
let file = File :: open ( & in_path) . map_err ( |e| BindGenError :: CouldNotReadDefinitionFile {
1074
1073
source : e,
1075
- path : in_path. to_path_buf ( ) ,
1074
+ path : in_path. clone ( ) ,
1076
1075
} ) ?;
1077
1076
let mut reader = Reader :: from_reader ( BufReader :: new ( file) ) ;
1078
1077
reader. trim_text ( true ) ;
@@ -1095,14 +1094,11 @@ pub fn parse_profile(
1095
1094
for e in events {
1096
1095
match e {
1097
1096
Ok ( Event :: Start ( bytes) ) => {
1098
- let id = match identify_element ( bytes. name ( ) . into_inner ( ) ) {
1099
- None => {
1100
- panic ! (
1101
- "unexpected element {:?}" ,
1102
- String :: from_utf8_lossy( bytes. name( ) . into_inner( ) )
1103
- ) ;
1104
- }
1105
- Some ( kind) => kind,
1097
+ let Some ( id) = identify_element ( bytes. name ( ) . into_inner ( ) ) else {
1098
+ panic ! (
1099
+ "unexpected element {:?}" ,
1100
+ String :: from_utf8_lossy( bytes. name( ) . into_inner( ) )
1101
+ ) ;
1106
1102
} ;
1107
1103
1108
1104
assert ! (
@@ -1117,20 +1113,20 @@ pub fn parse_profile(
1117
1113
is_in_extension = true ;
1118
1114
}
1119
1115
MavXmlElement :: Message => {
1120
- message = Default :: default ( ) ;
1116
+ message = MavMessage :: default ( ) ;
1121
1117
}
1122
1118
MavXmlElement :: Field => {
1123
- field = Default :: default ( ) ;
1119
+ field = MavField :: default ( ) ;
1124
1120
field. is_extension = is_in_extension;
1125
1121
}
1126
1122
MavXmlElement :: Enum => {
1127
- mavenum = Default :: default ( ) ;
1123
+ mavenum = MavEnum :: default ( ) ;
1128
1124
}
1129
1125
MavXmlElement :: Entry => {
1130
- entry = Default :: default ( ) ;
1126
+ entry = MavEnumEntry :: default ( ) ;
1131
1127
}
1132
1128
MavXmlElement :: Include => {
1133
- include = Default :: default ( ) ;
1129
+ include = PathBuf :: default ( ) ;
1134
1130
}
1135
1131
MavXmlElement :: Param => {
1136
1132
paramid = None ;
@@ -1245,7 +1241,7 @@ pub fn parse_profile(
1245
1241
if entry. params . is_none ( ) {
1246
1242
entry. params = Some ( vec ! [ ] ) ;
1247
1243
}
1248
- if let b"index" = attr. key . into_inner ( ) {
1244
+ if attr. key . into_inner ( ) == b"index" {
1249
1245
let s = std:: str:: from_utf8 ( & attr. value ) . unwrap ( ) ;
1250
1246
paramid = Some ( s. parse :: < usize > ( ) . unwrap ( ) ) ;
1251
1247
}
@@ -1259,7 +1255,7 @@ pub fn parse_profile(
1259
1255
is_in_extension = true ;
1260
1256
}
1261
1257
b"entry" => {
1262
- entry = Default :: default ( ) ;
1258
+ entry = MavEnumEntry :: default ( ) ;
1263
1259
for attr in bytes. attributes ( ) {
1264
1260
let attr = attr. unwrap ( ) ;
1265
1261
match attr. key . into_inner ( ) {
@@ -1319,7 +1315,7 @@ pub fn parse_profile(
1319
1315
eprintln ! ( "TODO: deprecated {s:?}" ) ;
1320
1316
}
1321
1317
data => {
1322
- panic ! ( "unexpected text data {:?} reading {:?}" , data , s ) ;
1318
+ panic ! ( "unexpected text data {data :?} reading {s :?}" ) ;
1323
1319
}
1324
1320
}
1325
1321
}
@@ -1497,7 +1493,7 @@ impl MavXmlFilter {
1497
1493
}
1498
1494
!self . extension_filter . is_in
1499
1495
}
1500
- Err ( error) => panic ! ( "Failed to filter XML: {}" , error ) ,
1496
+ Err ( error) => panic ! ( "Failed to filter XML: {error}" ) ,
1501
1497
}
1502
1498
}
1503
1499
}
0 commit comments