https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66962
--- Comment #15 from Jason Merrill <jason at gcc dot gnu.org> --- (In reply to Eric Niebler from comment #9) > Jason, is there anything I can do in my code to avoid the quadratic > explosion while we wait for Andrew to fix the bug? In concepts, !(A && B) is not equivalent to !A || !B because the former is a single predicate, while the latter is a disjunction. So, converting A || B to !(!A && !B) will avoid the explosion at the cost of limiting subsumption.