Index: mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl |
index 5321d29f1268ec8cf9afc24d62af8956fc91b4cb..f067e64f3674cb37afd29cf0b891ed9d27f9c82d 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl |
@@ -78,6 +78,8 @@ void SerializeUnion_({{union.name}}Ptr input, mojo::internal::Buffer* buf, |
std::move(*input_acc.data()->{{field.name}}), {{field.name}}); |
{%- elif field.kind|is_associated_kind %} |
// TODO(yzshen): add seralization logic for associated kinds. |
+{% elif field.kind|is_enum_kind %} |
+ result->data.f_{{field.name}} = static_cast<int32_t>(input_acc.data()->{{field.name}}); |
{% else %} |
result->data.f_{{field.name}} = input_acc.data()->{{field.name}}; |
{%- endif %} |