[ https://issues.apache.org/jira/browse/THRIFT-4678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16712801#comment-16712801 ]
James E. King III edited comment on THRIFT-4678 at 12/7/18 12:44 PM: --------------------------------------------------------------------- In this effort here, `BOOST_NOEXCEPT_OR_NOTHROW` is a good option for exception declarations, however if we build any exception code into the link library, one would have to build a library for `C++03` and one for `C++11` in order for that to work. It starts getting a bit messy. I think it would be useful to first get the entire C++ library to work without boost if someone has `C++11` or later. Then we can drop support for `C++03`. Anyone who needs `C++03` support can use an older version (like 0.11.0 or 0.12.0, to be released soon, hopefully). THRIFT-4441 covers the effort to wean the project off boost. Perhaps this work can be done in cooperation with that work? The author of THRIFT-4441 seems to have disappeared or dropped their effort; they were pretty close to completing the work of getting to `C++11` without the need for boost. was (Author: jking3): In this effort here, `BOOST_NOEXCEPT_OR_NOTHROW` is a good option for exception declarations, however if we build any exception code into the link library, one would have to build a library for C++03 and one for C++11 in order for that to work. It starts getting a bit messy. I think it would be useful to first get the entire C++ library to work without boost if someone has C++11 or later. Then we can drop support for C++03. Anyone who needs C++03 support can use an older version (like 0.11.0 or 0.12.0, to be released soon, hopefully). THRIFT-4441 covers the effort to wean the project off boost. Perhaps this work can be done in cooperation with that work? The author of THRIFT-4441 seems to have disappeared or dropped their effort; they were pretty close to completing the work of getting to C++11 without the need for boost. > add noexcept cpp generator option > --------------------------------- > > Key: THRIFT-4678 > URL: https://issues.apache.org/jira/browse/THRIFT-4678 > 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 (v7.6.3#76005)