Fixes/upgrades
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
{%- import "type.rs.j2" as types -%}
|
||||
{%- import "default.rs.j2" as defaults -%}
|
||||
{%- for line in doc_lines -%}
|
||||
/// {{ line }}
|
||||
{% endfor -%}
|
||||
#[derive({{ derives | join(", ") }})]
|
||||
{% for attr in extra_attrs -%}
|
||||
{{ attr }}
|
||||
{% endfor -%}
|
||||
pub struct {{ name }} {
|
||||
{%- for field in fields %}
|
||||
{%- if field.default_fn %}
|
||||
#[serde(default = "{{ field.default_fn }}")]
|
||||
{%- endif %}
|
||||
pub {{ field.ident }}: {{ types.rust_type(field.type) }},
|
||||
{%- endfor %}
|
||||
}
|
||||
|
||||
{% for fn in default_fns -%}
|
||||
fn {{ fn.name }}() -> {{ types.rust_type(fn.type) }} { {{ defaults.default_body(fn.body) }} }
|
||||
{% endfor -%}
|
||||
{% if default_fns %}
|
||||
{% endif -%}
|
||||
{% if fields -%}
|
||||
impl Default for {{ name }} {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
{%- for field in fields %}
|
||||
{%- if field.default_fn %}
|
||||
{{ field.ident }}: {{ field.default_fn }}(),
|
||||
{%- else %}
|
||||
{{ field.ident }}: ::std::default::Default::default(),
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
}
|
||||
}
|
||||
}
|
||||
{% endif -%}
|
||||
Reference in New Issue
Block a user