https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65848
--- Comment #1 from Andrew Sutton <andrew.n.sutton at gmail dot com> --- This is caused by the use of a concept outside of a requires clause -- it's still a bug though. The TS doesn't actually include wording that would allow this program to be valid. Unfortunately, the first thing people do when they have concepts it to write tests that statically assert them, so I've been extending the proposal to make that valid. The performance regression is related to that. When you call C11<S6>(), we normalize that expression as a constraint and check it. Unfortunately, that same logic applies for *every single concept check* that appears in an expression formed while normalizing that constraint. Basically, you're invoking a giant recursive yo-yo in order to evaluate the constraint. Like I said... still a bug. I hope to have this resolved in the next half hour.