thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King III (JIRA)" <>
Subject [jira] [Commented] (THRIFT-4678) add noexcept cpp generator option
Date Thu, 20 Dec 2018 13:44:00 GMT


James E. King III commented on THRIFT-4678:

I was talking privately with someone else in the Thrift PMC ([~codesf]) and mentioned that
I would be okay if thrift 0.12.0 was the last release of thrift that worked with C++03; and
that the next release could have the option to use boost for specific things, or just use
std; alternatively we could just drop boost all together and rely on std, but that essentially
eliminates the possibility of rewriting the C++ transport core with boost::asio.  

Distributions that build and distribute a thrift library would have to decide if they want
to drop the boost dependency or not, knowing it would be considered a breaking change for
people who consume thrift.  Unfortunately having an "option" to use boost or not creates a
build-time branch where you need a boost and non-boost library.  It may be easier to just
say there's no boost and no direct pthreads support in the thrift C++ any more, and go straight
to just using std::thread, and other std::things (unique_ptr, etc).

To answer your question: NO, there is no clear roadmap.  I will open a discussion on the user@
mailing list about it and gather replies from folks who take the time to respond, and then
can put it up for a vote on the dev@ mailing list.

> add noexcept cpp generator option
> ---------------------------------
>                 Key: THRIFT-4678
>                 URL:
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Compiler, C++ - Library
>    Affects Versions: 0.11.0
>            Reporter: yuanyuan chen
>            Priority: Minor
> The C++11 standard has deprecated the usage of throw() to express exceptions,so to avoid
warnings from the compiler,I think this option is useful.
> I have a pull request in github,this issue is created to track it.
> Some questions remain:
> 1.Should we change the runtime c++ library to use BOOST_NOEXCEPT_OR_NOTHROW?
> 2.Should we add an control option to enable all c++11 options like moveable_types .etc?
> 3.Should we begin to support C+17 features? I think std::optional should be used to implement
optional keyword,but this is clearly an API breaking change,so we need an c+17 control option.

This message was sent by Atlassian JIRA

View raw message