You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Dirk Vanden Boer (JIRA)" <ji...@apache.org> on 2014/05/11 00:05:00 UTC

[jira] [Created] (THRIFT-2526) Assignment operators and copy constructors in c++ don't copy the __isset struct

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)