// { dg-do compile } namespace N { template struct A { operator int() const; }; } namespace M { template struct A {}; } namespace P { typedef int I; } template void foo() { +typename N::A<0>(); // { dg-bogus "expected" } } template void bar() { +typename M::A<0>; // { dg-error "expected" } } template void baz() { typename P::I i; // { dg-bogus "expected" } }