https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79452
--- Comment #2 from gnzlbg <gonzalobg88 at gmail dot com> ---
> It's already in C++17 and supported by GCC.
The following program is ill-formed in C++17:
int main() {
if constexpr() { // Error: expression missing in if condition
return 1;
}
return 0;
}
> That sounds like a recipe for ODR violations.
Could you elaborate on why? Since the `constexpr_alias` will only be called
during compile-time evaluation, it will never collide with the "run-time" alias
(which is inline, since constexpr implies inline). Note that `foo_constexpr` is
a completely different function than `foo`, so these two never collide either.