On Fri, 15 Oct 2021 at 23:55, Barry Revzin <[email protected]> wrote:

>
>
> On Fri, Oct 15, 2021 at 5:27 PM Jonathan Wakely via SG10 <
> [email protected]> wrote:
>
>> I think the following papers should have had a feature test macro:
>>
>> P0848
>> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0848r3.html>
>> Conditionally Trivial Special Member Functions
>>
>> P1330
>> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1330r0.pdf>
>> Changing the active member of a union inside constexpr
>>
>> I need a union in order to implement the std::variant changes in P2231
>> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2231r1.html>
>> and a conditionally trivial destructor makes it easier. In order to define
>> the __cpp_lib_constexpr_variant macro correctly I need to know if the union
>> usage is actually going to work, but there's no macro for P1330, so I can't
>> tell.
>>
>> A macro for constexpr destructors (P0784R7
>> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0784r7.html>?)
>> might have been nice too, because if the compiler doesn't support it then
>> you get an error for even trying to declare a destructor constexpr. Without
>> a feature test macro there's no reliable way to try to use the feature.
>>
>> If all the compilers I need to support already implemented those
>> features, I wouldn't care, but they don't.
>>
>> https://godbolt.org/z/qG6d7TxhE
>>
>
> I suppose given that not all compilers support them, it's not too late to
> go back and add the feature test macro? Although the compilers that do
> support it don't provide the macro - what do you think about the false
> negatives there?
>

I'm OK with degraded features because of that. It's better to not use the
feature when I really could have done, than try to use it and get errors.

This is in the context of libstdc++, where I don't know who is going to use
the code or what compiler they'll use, so by the time they get an error,
it's too late for me to address it.
-- 
SG10 mailing list
[email protected]
https://lists.isocpp.org/mailman/listinfo.cgi/sg10

Reply via email to