diff --git a/proxmox-api-macro/src/util.rs b/proxmox-api-macro/src/util.rs index 10a58f71..3a8bd8fb 100644 --- a/proxmox-api-macro/src/util.rs +++ b/proxmox-api-macro/src/util.rs @@ -228,7 +228,7 @@ pub struct JSONObject { } impl JSONObject { - fn parse_inner(input: ParseStream) -> syn::Result> { + fn parse_elements(input: ParseStream) -> syn::Result> { let map_elems: Punctuated = input.parse_terminated(JSONMapEntry::parse)?; let mut elems = HashMap::with_capacity(map_elems.len()); @@ -239,6 +239,15 @@ impl JSONObject { } Ok(elems) } + + pub fn parse_inner(input: ParseStream) -> syn::Result { + Ok(Self { + brace_token: syn::token::Brace { + span: Span::call_site(), + }, + elements: Self::parse_elements(input)?, + }) + } } impl Parse for JSONObject { @@ -246,7 +255,7 @@ impl Parse for JSONObject { let content; Ok(Self { brace_token: syn::braced!(content in input), - elements: Self::parse_inner(&content)?, + elements: Self::parse_elements(&content)?, }) } }