rupprecht added a comment.

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.



================
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>
----------------
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.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144285/new/

https://reviews.llvm.org/D144285

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D144285: [Clang] ... Jordan Rupprecht via Phabricator via cfe-commits

Reply via email to