Cool. Thanks for the quick response.

On Thursday, June 8, 2017 at 4:01:08 PM UTC+3, Jon Skeet wrote:
>
> It's a bug, basically. We probably haven't noticed it before because 
> merging is significantly rarer than parsing from scratch or serializing.
>
> I've filed https://github.com/google/protobuf/issues/3200
>
> Jon
>
> On Thursday, 8 June 2017 09:26:09 UTC+1, Ron Ben-Yosef wrote:
>>
>> We've been using proto3 at my workplace for a while now, and noticed some 
>> inconsistency in the merge behavior between the C++ and C# implementations 
>> when it comes to oneof fields.
>> It seems that in the C++ implementation, if both messages being merged 
>> have the same oneof case set then the field is merged properly (otherwise 
>> the incoming message's field replaces the existing one).
>> On the other hand, in the C# implementation the incoming message's field 
>> always simply replaces the existing one, even if it's the same field (as 
>> opposed to proper merging if it's the same field, as in the C++ 
>> implementation).
>> It looks like this is true for the merge functions both in the generated 
>> code and in the protobuf libraries.
>>
>> Is there any reason for the different behaviors? Is there any change 
>> planned to make the two implementations' behaviors more consistent?
>> I think the C++ behavior probably makes a little more sense, but either 
>> way - shouldn't this behavior be consistent between the different 
>> implementations?
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to