http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58713
--- Comment #5 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to Marc Glisse from comment #4) > If I try to sfinae-out this function based on os<<x being well-formed, I get > an error that "template instantiation depth exceeds maximum of 900" (even > for a valid cout<<42), because even if this overload won't match, it still > looks at it recursively. Thanks for your test, Marc. I will reflect upon the problem in a bit more detail (Let me add that I had thought a while longer about that problem before this issue cam up but when I added my note to the issue about the actual sfinae form this was just of the top of my head).