[PATCH] D144285: [Clang] Implement CWG2518 - static_assert(false)
Corentin Jabot via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 7 23:53:30 PST 2023
cor3ntin added a comment.
In D144285#4176850 <https://reviews.llvm.org/D144285#4176850>, @rupprecht wrote:
> In D144285#4163004 <https://reviews.llvm.org/D144285#4163004>, @cor3ntin wrote:
>
>> If however we find this change to disruptive, we should inform WG21.
>
> Thanks for the explanation, I think I understand the issue now. I got totally thrown off by the title -- it's not about literally writing `static_assert(false)`, it's about deferring `static_assert` evaluation to template instantiations. Being able to write `static_assert(false)` (or any falsy constant expression) is just the common use case for this.
>
> So possibly the most trivial example of something that used to break, but now builds:
>
> template <typename>
> void Fail() {
> static_assert(false, "my assertion failed");
> }
>
> ... but will still fail as soon as you invoke `Fail<any_type>()` somewhere.
>
> It doesn't look like there's a lot of impact from this, and the breakages are corner cases like this. It might be worth mentioning this one case to WG21 but I'm not sure what I would change about the wording.
Will do !
================
Comment at: clang/www/cxx_dr_status.html:14915
<tr class="open" id="2518">
<td><a href="https://wg21.link/cwg2518">2518</a></td>
<td>review</td>
----------------
rupprecht wrote:
> Is it possible to make this link point to https://cplusplus.github.io/CWG/issues/2518.html? This link is inaccessible to anyone not on ISO.
It will get updated whenever a new core issue list gets published, which will hopefully be soon-ish.
This file is generated automatically so changing the link might actually not be trivial
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144285/new/
https://reviews.llvm.org/D144285
More information about the cfe-commits
mailing list