// Test mangling of type casts // { dg-do compile } class A {}; class B : public A {}; template class C {}; template class D {}; template class E {}; template void f(D &, C(b)> &) {} // { dg-error "" } template void g(D &, E(b)> &) {} // { dg-error "" } B b; int main() { C(&b)> c; // { dg-error "" } D<&b> d; E(&b)> e; // { dg-error "" } f(d, c); g(d, e); }