// { dg-do assemble } template struct Mesh { }; struct RectGrid { }; struct RectMesh { }; struct Cartesian { }; template struct Mesh { }; template struct Mesh : public Mesh { }; template void foo(const Mesh &) { } int main() { Mesh m; foo(m); }