| {% 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 %} |