[ https://issues.apache.org/jira/browse/THRIFT-2526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14153444#comment-14153444 ]
ASF GitHub Bot commented on THRIFT-2526: ---------------------------------------- Github user jfarrell closed the pull request at: https://github.com/apache/thrift/pull/120 > Assignment operators and copy constructors in c++ don't copy the __isset > struct > ------------------------------------------------------------------------------- > > Key: THRIFT-2526 > URL: https://issues.apache.org/jira/browse/THRIFT-2526 > Project: Thrift > Issue Type: Bug > Components: C++ - Compiler > Affects Versions: 0.9.2 > Reporter: Dirk Vanden Boer > Assignee: Roger Meier > Priority: Trivial > Fix For: 0.9.2 > > Attachments: thrift-2526.patch > > > I have a thrift protocol that returns a list of items. The items have > optional fields. Putting these items in a vector the optional fields are not > sent to clients as the assignment operator does not copy the __isset struct. > Generated code: > Item::Item(const Item& other3) { > id = other3.id; > title = other3.title; > itemclass = other3.itemclass; > thumbnailurl = other3.thumbnailurl; > } > Adding __isset = other3.__isset; fixes this issue. > Same for the assignment operator. -- This message was sent by Atlassian JIRA (v6.3.4#6332)