Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
96f081b9da | |||
09043598ba |
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "macroconf"
|
name = "macroconf"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "macro for creating configurations using miniconf"
|
description = "macro for creating configurations using miniconf"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
10
src/lib.rs
10
src/lib.rs
@ -467,7 +467,7 @@ fn generate_tree_serialize(ident: &Ident, consts: &[Ident]) -> TokenStream2 {
|
|||||||
let matches = consts.iter().enumerate().map(|(i, ident)| {
|
let matches = consts.iter().enumerate().map(|(i, ident)| {
|
||||||
let index = i + 1;
|
let index = i + 1;
|
||||||
quote! {
|
quote! {
|
||||||
#index => ::miniconf::Serialize::serialize(&Self::#ident, ser).map_err(|err| ::miniconf::Error::Inner(0, err))?,
|
#index => Self::#ident.serialize(ser).map_err(|err| ::miniconf::Error::Inner(0, err))?,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
quote! {
|
quote! {
|
||||||
@ -483,7 +483,7 @@ fn generate_tree_serialize(ident: &Ident, consts: &[Ident]) -> TokenStream2 {
|
|||||||
{
|
{
|
||||||
let ::core::result::Result::Ok(key) = keys.next::<Self>() else {
|
let ::core::result::Result::Ok(key) = keys.next::<Self>() else {
|
||||||
return ::miniconf::Error::increment_result({
|
return ::miniconf::Error::increment_result({
|
||||||
::miniconf::Serialize::serialize(&self.0, ser).map_err(|err| ::miniconf::Error::Inner(0, err))?;
|
self.serialize(ser).map_err(|err| ::miniconf::Error::Inner(0, err))?;
|
||||||
::core::result::Result::Ok(0)
|
::core::result::Result::Ok(0)
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -493,7 +493,7 @@ fn generate_tree_serialize(ident: &Ident, consts: &[Ident]) -> TokenStream2 {
|
|||||||
}
|
}
|
||||||
::miniconf::Error::increment_result({
|
::miniconf::Error::increment_result({
|
||||||
match index {
|
match index {
|
||||||
0 => ::miniconf::Serialize::serialize(&self.0, ser).map_err(|err| ::miniconf::Error::Inner(0, err))?,
|
0 => self.serialize(ser).map_err(|err| ::miniconf::Error::Inner(0, err))?,
|
||||||
#(#matches)*
|
#(#matches)*
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
};
|
};
|
||||||
@ -517,7 +517,7 @@ fn generate_tree_deserialize(ident: &Ident, num_keys: usize) -> TokenStream2 {
|
|||||||
D: ::serde::Deserializer<'de>,
|
D: ::serde::Deserializer<'de>,
|
||||||
{
|
{
|
||||||
let ::core::result::Result::Ok(key) = keys.next::<Self>() else {
|
let ::core::result::Result::Ok(key) = keys.next::<Self>() else {
|
||||||
self.0 = ::miniconf::Deserialize::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?;
|
*self = Self::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?;
|
||||||
return ::core::result::Result::Ok(0);
|
return ::core::result::Result::Ok(0);
|
||||||
};
|
};
|
||||||
let index = ::miniconf::Key::find::<Self>(&key).ok_or(::miniconf::Traversal::NotFound(1))?;
|
let index = ::miniconf::Key::find::<Self>(&key).ok_or(::miniconf::Traversal::NotFound(1))?;
|
||||||
@ -526,7 +526,7 @@ fn generate_tree_deserialize(ident: &Ident, num_keys: usize) -> TokenStream2 {
|
|||||||
}
|
}
|
||||||
match index {
|
match index {
|
||||||
0 => ::miniconf::Error::increment_result((||{
|
0 => ::miniconf::Error::increment_result((||{
|
||||||
self.0 = ::miniconf::Deserialize::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?;
|
*self = Self::deserialize(de).map_err(|err| ::miniconf::Error::Inner(0, err))?;
|
||||||
Ok(0)
|
Ok(0)
|
||||||
})()),
|
})()),
|
||||||
1..=#num_keys => ::core::result::Result::Err(::miniconf::Traversal::Absent(0))?,
|
1..=#num_keys => ::core::result::Result::Err(::miniconf::Traversal::Absent(0))?,
|
||||||
|
Reference in New Issue
Block a user