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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Reduced test that shows the ICE:

class ostream;
template <typename Type>
concept OstreamInsertable = requires(ostream out, Type value) {
  out << value;
};
struct FMT {};
class CSVTabIns {
  template <OstreamInsertable Type> friend void operator<<(CSVTabIns, Type);
};
template <OstreamInsertable Type> void operator<<(CSVTabIns, Type &);
void operator<<(CSVTabIns tab, FMT) {
  tab << 1;
}

Reply via email to