On Wed, 27 Jan 2021 at 20:54, Barry Revzin via Liaison <liaison@lists.isocpp.org> wrote:
Eric Niebler actually asked this on StackOverflow a few years ago: https://stackoverflow.com/q/48045470/2069064

The accepted answer there is:
#define PP_THIRD_ARG(a,b,c,...) c
#define VA_OPT_SUPPORTED_I(...) PP_THIRD_ARG(__VA_OPT__(,),true,false,)
#define VA_OPT_SUPPORTED VA_OPT_SUPPORTED_I(?)

Who is going to remember that without having to look it up though?

The #ifdef __VA_OPT__ solution was my first thought, it's unfortunate we forbid it. If we can't have that then I think we do need a feature test macro. The voodoo above will make most developers wish they were using Rust.