[clang] Constraint normalization uses too much memory · Issue #122581 · llvm/llvm-project (original) (raw)
template concept C0 = true;
template concept C1 = true;
template concept C2 = true;
template concept C3 = true;
template concept C4 = true;
template concept X = (C0 && (C2 && C3) || (C2 && C4) || (C3 && C4)) || (C0 && (C1 && C2) || (C1 && (C1 && C3) || (C1 && C4) || (C3 && C4)) || (C2 && (C1 && C3) || (C1 && C4) || (C3 && C4))) || ((C2 && C3) || (C2 && C4) || (C3 && C4) && (C1 && C2) || (C1 && (C1 && C3) || (C1 && C4) || (C3 && C4)) || (C2 && (C1 && C3) || (C1 && C4) || (C3 && C4)));
template concept Y = C0 && X;
int foo(X auto x) { return 10; } int foo(Y auto y) { return 20; }
int bar() { return foo(0); }