I do, Barry. Something like this (not tested):

struct parse_event
{
    template <typename T>
    parse_event(T&& value) : token(std::forward<T>(value)) {}
   
#ifndef VARIANT_SAFELY_TAKES_CHAR_POINTER
    // Workaround
    parse_event(const char* s) : token(std::string(s)) {}
#endif
   
    std::variant<bool, int, std::string> token;
};

The idea is to disable the workaround code when the C++ library implementation has the P0608/P1957 fixes.

On Sun, Dec 6, 2020 at 6:17 PM Barry Revzin <barry.revzin@gmail.com> wrote:
On Sun, Dec 6, 2020 at 3:18 PM Emile Cormier via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
Hi Everyone,

Is there a feature test macro for P0608 and P1957, which fix the problem of constructing a variant<bool, string> with a const char*?

According to the C++20 draft, the __cpp_­lib_­variant macro is still stuck at 201606L and I cannot find any other macro concerning this.

Cheers,
Emile Cormier

Do you have an example of code that you would want to write, given such a macro?

Barry