blob: 31d099888b2d0823035a11de17948584e8edaed2 [file] [log] [blame]
{% if !union_.is_result %}
{{ denylist }}
impl ::fidl_next::CompatFrom<crate::{{ name }}> for ::{{ compat.crate_name }}::{{ compat_name }} {
fn compat_from(value: crate::{{ name }}) -> Self {
match value {
{% for member in union_.members %}
crate::{{ name }}::{{ member.name|camel }}(value) =>
Self::{{ member.name|compat_camel }}(::fidl_next::CompatFrom::compat_from(value)),
{% endfor %}
{% if !union_.is_strict %}
crate::{{ name }}::UnknownOrdinal_(unknown_ordinal) =>
Self::__SourceBreaking { unknown_ordinal },
{% endif %}
}
}
}
{{ denylist }}
impl ::fidl_next::CompatFrom<::{{ compat.crate_name }}::{{ compat_name }}> for crate::{{ name }} {
fn compat_from(value: ::{{ compat.crate_name }}::{{ compat_name }}) -> Self {
match value {
{% for member in union_.members %}
::{{ compat.crate_name }}::{{ compat_name }}::{{ member.name|compat_camel }}(value) =>
Self::{{ member.name|camel }}(::fidl_next::CompatFrom::compat_from(value)),
{% endfor %}
{% if !union_.is_strict %}
::{{ compat.crate_name }}::{{ compat_name }}::__SourceBreaking { unknown_ordinal } =>
Self::UnknownOrdinal_(unknown_ordinal),
{% endif %}
}
}
}
{% endif %}