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.

Reply via email to