https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55722
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |jason at gcc dot gnu.org
Resolution|--- |INVALID
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
The static_assert only fires once because we only instantiate a particular
class or function once. When we instantiate
__assert_callable<std::false_type>, we trip the static_assert, but later uses
get the result of the earlier instantiation. I don't think factoring out
static_assert into a separate template is going to do what you want.