Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.15.0, 0.14.2
-
None
-
None
Description
This is the continuation/followup fromĀ THRIFT-5389 and THRIFT-5461.
- For container fields of a struct (map/list/set), we make the container type a point when it has default value set, but we didn't handle that correctly when generating the constant value (part of
THRIFT-3289but missed from the fix) - The decision on whether to make string/binary fields of a struct's type a pointer is inconsistent from container types. For container types we make it a pointer when it has a default value, so we determine IsSet* by checking if the pointer is nil. But for string we make it not a pointer when it has default value, and determine IsSet* by checking if the value is the same as the default. We should make them consistent.