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 53b212653eb646efc5ee95b399ae31658c29d959..4acbeb21b872aa2a89fe58382360177d3acdb4f3 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,9 @@ void SerializeUnion_({{union.name}}* input, mojo::internal::Buffer* buf, |
&result->data.f_{{field.name}}); |
mojo::internal::InterfacePointerToData( |
input_acc.data()->{{field.name}}->Pass(), {{field.name}}); |
+{% 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 %} |
@@ -141,4 +144,4 @@ void Deserialize_(internal::{{union.name}}_Data* input, |
break; |
} |
} |
-} |
+} |