https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85214

--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> ---
Further reduced:

struct g {
  constexpr operator int() { return true; }
};
template <typename T, typename U> constexpr bool m = true;
template <long L> struct C { typedef double q; };
void ao() {
  [](auto i) {
      using ar = typename C<i>::q;
      [](auto j) {
        using as = typename C<j>::q;
        if constexpr (m<ar, as>) {}
      }(g());
  }(g());
}

Reply via email to