Fix merging with message-valued oneof
If messages A and B have the same oneof case, which is a message
type, and we merge B into A, those sub-messages should be merged.
Fixes #3200.
Note that I haven't regenerated all the code, as some of the protos
have been changed, breaking generation.
diff --git a/csharp/protos/unittest_issues.proto b/csharp/protos/unittest_issues.proto
index 6c9f763..332c81d 100644
--- a/csharp/protos/unittest_issues.proto
+++ b/csharp/protos/unittest_issues.proto
@@ -124,3 +124,18 @@
string description = 2 [json_name = "desc"];
string guid = 3 [json_name = "exid"];
}
+
+// Issue 3200: When merging two messages which use the same
+// oneof case, which is itself a message type, the submessages should
+// be merged.
+message OneofMerging {
+ message Nested {
+ int32 x = 1;
+ int32 y = 2;
+ }
+
+ oneof value {
+ string text = 1;
+ Nested nested = 2;
+ }
+}
\ No newline at end of file