2015-05-03 0:17 GMT+03:00 Kent Fredric <[email protected]>: > > On 3 May 2015 at 09:11, Maxim Koltsov <[email protected]> wrote: > >> LeechCraft has some functionality that is implemented in C++14 and won't >> be available otherwise. >> > > Can you clarify the nature of that functionality? >
The Tox support module and email client module (the latter isn't in tree yet, but a good example anyway) both rely on relaxed constexpr from C++14. In some of the newer code I rely on automatic return type deduction and generic lambdas, for example, or some changes in STL. Thus, it's safer to say that basically all new modules that are written (and would be written) since ~January 2015 would require C++14 as a baseline language. Moreover, C++14 allows writing more efficient code (without extra levels of indirection induced by std::function required if one is to specify the return type of a function returning a lambda, for example) in some places. > Shouldn't the USE flag be thus in terms of what that functionality is, not > in terms of the dependency required to provide it? > Since the most general criteria for the functionality is "whether C++14 compiler is available", "c++14" or something like that seems the best fit for the USE flag name. We have "idn" or "gnutls" or "python" etc USE flags after all, not "support_international_names_in_blah" or "allow_secure_news_fetching_in_foo" or "build_scripting_support_for_baz". Or I just didn't get you here, sorry me in this case :) -- Georg Rudoy
