Dirk Vanden Boer created THRIFT-2526:
----------------------------------------

             Summary: 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
            Priority: Trivial


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.2#6252)

Reply via email to