OK, thanks. Is there a recommended way of upgrading a float field to a 
double field? There is no discussion of this path right now in the protobuf 
docs.

James

On Thursday, November 16, 2017 at 11:16:58 AM UTC-8, liujisi wrote:
>
> The spec doesn't allow such conversion. If some language implementation 
> supports the conversion, it is considered a bug by not following spec.
>
> Protobuf is designed to interop across different languages/platforms. 
> Implicit conversion in "some libraries" allows creating non portable 
> payload which leads to issues/surprises when you change the 
> language/implementation in part of your pipeline, or communicate to a 
> different party.
>
> That being said, you can propose to add the conversion to the spec to 
> promote float->double promotion. That would require to change all the 
> language implementations and we need to evaluate the cost and benefit.
>
> On Wednesday, November 15, 2017 at 10:18:15 PM UTC-8, James Philbin wrote:
>>
>> But the type stored on the wire is known - so it seems like it could be 
>> supported (simply static_cast<double>(float_val)). By 'some libraries': 
>> does the C++ ParseFromString method do this or not?
>>
>> Thanks!
>> James
>>
>> On Wed, Nov 15, 2017 at 3:57 PM Marc Gravell <[email protected] 
>> <javascript:>> wrote:
>>
>>> Not really, no. They take different amounts of space on the wire, and 
>>> have a different declared wire type (header). Some libraries may choose to 
>>> be gracious and apply the conversion silently, but other libraries could 
>>> just say "unexpected wire type" and stop processing.
>>>
>>> You could perhaps do it as a `oneof`, and have the client check both?
>>>
>>> On 15 Nov 2017 11:51 p.m., "James Philbin" <[email protected] 
>>> <javascript:>> wrote:
>>>
>>>> Hi,
>>>>
>>>> Is it safe to upgrade float fields to doubles for serialized protos? If 
>>>> not, why not?
>>>>
>>>> Thanks,
>>>> James
>>>>
>>>> -- 
>>>>
>>> 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] <javascript:>.
>>>
>>>
>>>> To post to this group, send email to [email protected] 
>>>> <javascript:>.
>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>

-- 
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