Put schema value into a variable before calling apply_metadata

This reduces size of MIR output, which should somewhat mitigate #246
This commit is contained in:
Graham Esau 2023-11-11 20:28:10 +00:00
parent 9415fcb57b
commit ae9544aaf9

View file

@ -15,12 +15,13 @@ impl<'a> SchemaMetadata<'a> {
pub fn apply_to_schema(&self, schema_expr: &mut TokenStream) { pub fn apply_to_schema(&self, schema_expr: &mut TokenStream) {
let setters = self.make_setters(); let setters = self.make_setters();
if !setters.is_empty() { if !setters.is_empty() {
*schema_expr = quote! { *schema_expr = quote! {{
schemars::_private::apply_metadata(#schema_expr, schemars::schema::Metadata { let schema = #schema_expr;
schemars::_private::apply_metadata(schema, schemars::schema::Metadata {
#(#setters)* #(#setters)*
..Default::default() ..Default::default()
}) })
} }}
} }
} }