Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-1513

Thrift compiler generates inconsistent code with some complex values (causing g++ to error: "has no member named '__isset')

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.6, 0.7, 0.8
    • 0.14.0
    • C++ - Compiler
    • None

    Description

      Using the following thrift definition file t1.thrift:

      struct lstMember {
      1: required i16 data1,
      }
      struct someStruct {
      1: required list<lstMember> lst = [

      {'data1':1}

      ]
      }

      $ thrift -r --gen cpp t1.thrift
      $ g++ -I/usr/include/thrift -Igen-cpp -c gen-cpp/t1_types.cpp
      In file included from gen-cpp/t1_types.cpp:6:
      gen-cpp/t1_types.h: In constructor 'someStruct::someStruct()':
      gen-cpp/t1_types.h:63: error: 'class lstMember' has no member named '__isset'

      Attachments

        Activity

          People

            zeshuai007 Zezeng Wang
            nhed Nevo Hed
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: