This allows static_assert(false) to not be ill-formed
in template definitions.
This change is applied as a DR in all C++ modes.
Of notes, a couple of tests were relying of the eager nature
of static_assert
- test/SemaTemplate/instantiation-dependence.cpp
- test/SemaTemplate/instantiate-var-template.cpp
I don't know if the changes to static_assert
still allow that sort of tests to be expressed.
I am assuming this will be updated eventually but that version is not the final one and the one that was approved can be found from: https://github.com/cplusplus/papers/issues/1251
and it here: https://cplusplus.github.io/CWG/issues/2518.html
I think a better wording would be would not be ill-formed when evaluated in the context of a template definition