On Wed, Dec 19, 2018 at 3:40 PM Marc Glisse via Boost
Don't underestimate the importance of keeping the author of the library motivated. If supporting crappy old tools makes them lose the will to keep improving the library, we end up with one more unmaintained boost package...
Thank you for articulating this point. In fact I wrote a closed-source
C++11 version of this library a few years ago with all the SFINAE code as
well as Windows and Linux-specific hacks due to slight differences in how
the compilers interpreted the obscure SFINAE code. Though it worked, I was
not happy with how much I had to butcher the project and additional changes
started to become increasingly difficult. It is due to the new C++17
compile-time logic that provides the opportunity to "do it right" and I am
happy with how much cleaner and maintainable this new version is.
On Wed, Dec 19, 2018 at 3:44 PM Peter Dimov via Boost
In the specific case of
https://github.com/pulver/autodiff/blob/master/include/boost/math/autodiff.h...
as far as I can see you can just drop the `constexpr` part from `if constexpr` on pre-17 compilers and everything would work. But that's just from a quick glance, I haven't tried it.
For example, the following will not compile with pre-17 compilers if
`constexpr` is dropped:
template