// PR c++/48969 // { dg-options "-std=c++0x -ftemplate-depth=10" } template struct Pair { }; struct Foo { enum { Mask = 1 }; } foo; template class Pair operator|(const A &, const B &) // { dg-message "substitution" } { } Pair f = foo|foo; // { dg-message "no match" } // { dg-prune-output "note" } // { dg-prune-output "here" } // { dg-prune-output "instantiation depth" }