Skip to content

Commit f55aa01

Browse files
author
Jonathan Woollett-Light
committed
Implementing templates
Signed-off-by: Jonathan Woollet-Light <[email protected]>>
1 parent a8054ef commit f55aa01

27 files changed

+782
-93648
lines changed

src/arch/src/x86_64/msr.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -315,14 +315,13 @@ pub fn set_msrs(
315315
let msrs = Msrs::from_entries(&msr_entries).map_err(SetMSRsError::Create)?;
316316
vcpu.set_msrs(&msrs)
317317
.map_err(SetMSRsError::Set)
318-
.and_then(|msrs_written|
318+
.and_then(|msrs_written| {
319319
if msrs_written as u32 == msrs.as_fam_struct_ref().nmsrs {
320320
Ok(())
321-
}
322-
else {
321+
} else {
323322
Err(SetMSRsError::Incomplete)
324323
}
325-
)
324+
})
326325
}
327326

328327
/// Returns the list of supported, serializable MSRs.

src/bit-fields-macros/src/lib.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
5858
let struct_name = match token_stream_iter.next() {
5959
Some(TokenTree::Ident(ident)) => ident,
6060
Some(token) => return diagnostic(token.span(), IDENT_ERR),
61-
_ => panic!("{}", IDENT_ERR),
61+
None => panic!("{}", IDENT_ERR),
6262
};
6363

6464
let struct_data_type: proc_macro2::Ident = match token_stream_iter.nth(1) {
@@ -67,7 +67,7 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
6767
_ => return diagnostic(ident.span(), TYPE_ERR),
6868
},
6969
Some(token) => return diagnostic(token.span(), TYPE_ERR),
70-
_ => panic!("{}", TYPE_ERR),
70+
None => panic!("{}", TYPE_ERR),
7171
};
7272

7373
let bits_len: u8 = match struct_data_type.to_string().as_str() {
@@ -446,8 +446,8 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
446446
#[cfg(feature = "field_map")]
447447
write!(
448448
&mut field_setting_hashmap,
449-
"map.insert(String::from(\"{field_ident}\"),\
450-
{struct_data_type}::from(&bit_field.{field_ident}));",
449+
"map.insert(String::from(\"{field_ident}\"),{struct_data_type}::\
450+
from(&bit_field.{field_ident}));",
451451
struct_data_type = struct_data_type,
452452
field_ident = field_ident
453453
)
@@ -478,7 +478,7 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
478478
// The bit flag case
479479
Some(TokenTree::Punct(punct)) if punct.as_char() == ',' => add_bit_flags(),
480480
None => add_bit_flags(),
481-
_ => return diagnostic(field_ident.span(), FIELDS_ERR),
481+
Some(_) => return diagnostic(field_ident.span(), FIELDS_ERR),
482482
}
483483
// We skip the punctuation for the next iteration.
484484
fields_iter.next();
@@ -658,13 +658,13 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
658658
#[cfg(feature = "flag_set")]
659659
let flag_set = quote! {
660660
impl<T:std::fmt::Display> std::convert::TryFrom<std::collections::HashSet<T>> for #struct_name {
661-
type Error = bit_fields::TryFromFlagSetErr;
661+
type Error = bit_fields::TryFromFlagSetError;
662662
fn try_from(set: std::collections::HashSet<T>) -> Result<Self,Self::Error> {
663663
let mut base = Self::from(0);
664664
for key in set.into_iter() {
665665
match key.to_string().as_str() {
666666
#flag_matching_from_hashset
667-
_ => return Err(bit_fields::TryFromFlagSetErr)
667+
_ => return Err(bit_fields::TryFromFlagSetError)
668668
}
669669
}
670670
Ok(base)
@@ -687,13 +687,13 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
687687
#[cfg(feature = "field_map")]
688688
let field_map = quote! {
689689
impl<T:std::fmt::Display> std::convert::TryFrom<std::collections::HashMap<T,#struct_data_type>> for #struct_name {
690-
type Error = bit_fields::TryFromFieldMapErr;
690+
type Error = bit_fields::TryFromFieldMapError;
691691
fn try_from(set: std::collections::HashMap<T,#struct_data_type>) -> Result<Self,Self::Error> {
692692
let mut base = Self::from(0);
693693
for (key,value) in set.into_iter() {
694694
match key.to_string().as_str() {
695695
#field_matching_from_hashmap
696-
_ => return Err(bit_fields::TryFromFieldMapErr::UnknownField)
696+
_ => return Err(bit_fields::TryFromFieldMapError::UnknownField)
697697
}
698698
}
699699
Ok(base)
@@ -713,19 +713,19 @@ pub fn bitfield(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
713713
#[cfg(all(feature = "flag_set", feature = "field_map"))]
714714
let set_map_conversions = quote! {
715715
impl<T:std::fmt::Display> std::convert::TryFrom<(std::collections::HashSet<T>,std::collections::HashMap<T,#struct_data_type>)> for #struct_name {
716-
type Error = bit_fields::TryFromFlagSetAndFieldMapErr;
716+
type Error = bit_fields::TryFromFlagSetAndFieldMapError;
717717
fn try_from((set,map):(std::collections::HashSet<T>,std::collections::HashMap<T,#struct_data_type>)) -> Result<Self,Self::Error> {
718718
let mut base = Self::from(0);
719719
for key in set.into_iter() {
720720
match key.to_string().as_str() {
721721
#flag_matching_from_hashset
722-
_ => return Err(bit_fields::TryFromFlagSetAndFieldMapErr::FlagSet(bit_fields::TryFromFlagSetErr))
722+
_ => return Err(bit_fields::TryFromFlagSetAndFieldMapError::FlagSet(bit_fields::TryFromFlagSetError))
723723
}
724724
}
725725
for (key,value) in map.into_iter() {
726726
match key.to_string().as_str() {
727727
#field_matching_from_hashmap
728-
_ => return Err(bit_fields::TryFromFlagSetAndFieldMapErr::FieldMap(bit_fields::TryFromFieldMapErr::UnknownField))
728+
_ => return Err(bit_fields::TryFromFlagSetAndFieldMapError::FieldMap(bit_fields::TryFromFieldMapError::UnknownField))
729729
}
730730
}
731731
Ok(base)

src/bit-fields/Cargo.toml

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,13 @@ edition = "2018"
88
[dependencies]
99
bit-fields-macros = { path = "../bit-fields-macros" }
1010
serde = { version = "1.0.139", features=["derive"], optional = true }
11+
thiserror = "1.0.32"
12+
13+
[dev-dependencies]
14+
serde_json = "1.0.83"
1115

1216
[features]
13-
default = ["set_theory","bit_index","flag_set","field_map","display","cmp_flags"]
17+
default = ["set_theory","bit_index","flag_set","field_map","display","cmp_flags","serde_feature"]
1418
set_theory = ["bit-fields-macros/set_theory"]
1519
bit_index = ["bit-fields-macros/bit_index"]
1620
flag_set = ["bit-fields-macros/flag_set"]

0 commit comments

Comments
 (0)