[ https://issues.apache.org/jira/browse/THRIFT-2835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15381210#comment-15381210 ]
ASF GitHub Bot commented on THRIFT-2835: ---------------------------------------- Github user nsuke commented on a diff in the pull request: https://github.com/apache/thrift/pull/1039#discussion_r71078534 --- Diff: compiler/cpp/test/plugin/conversion_test.cc --- @@ -269,6 +268,8 @@ void test_const_value(t_const_value* sut) { #undef T_CONST_VALUE_CASE case t_const_value::CV_MAP: BOOST_CHECK_EQUAL(sut->get_map().size(), sut2->get_map().size()); + // NOTE This test only works with map with a single entry because we can't + // rely on map ordering with pointers as key. BOOST_CHECK_EQUAL(sut->get_map().begin()->first->get_type(), sut2->get_map().begin()->first->get_type()); BOOST_CHECK_EQUAL(sut->get_map().begin()->second->get_type(), --- End diff -- I think we still want to have multiple values inside map, e.g. by using `operator[]`/`find` on sut2. > Add possibility to distribute generators separately from thrift core, and > load them dynamically > ----------------------------------------------------------------------------------------------- > > Key: THRIFT-2835 > URL: https://issues.apache.org/jira/browse/THRIFT-2835 > Project: Thrift > Issue Type: New Feature > Components: Compiler (General) > Reporter: Anatol Pomozov > Labels: fbthrift > > It is a follow-up for discussion with Facebook's fbthrift > https://github.com/facebook/fbthrift/issues/48 > fbthrift adds its own generator that creates C++ classes based on their > libraries. I do not know how upstreamable this generator but I think other > companies would want to do the same - create their own custom generators. > Currently there is no way to distribute generators separately from the thrift > core. Thus the company have to fork whole project and add their own > generator. It is what Facebook did. > The idea is that thrift should be able to load language generators > dynamically. i.e. a company foo creates its own generator and puts it to > system /usr/lib/thrift/generators/cpp_foo.so When thrift compiler starts - it > checks /usr/lib/thrift/generators/ and uses dlopen() to load the shared > libraries. The shared library contains information about the generator (name, > options, ...) thus it allows thrift core to use this custom third-party > generator. > This allows companies to create and distribute generator will less pain and > no need to fork the project. -- This message was sent by Atlassian JIRA (v6.3.4#6332)