// PR c++/51852 // { dg-do compile { target c++11 } } // { dg-options "--param ggc-min-heapsize=0 --param ggc-min-expand=0" } template class transformed {}; template transformed transform (R r, F f); template class joined {}; template joined join (T t, U u); template auto join (T t, U u, V v, Rest... rest) -> decltype (join (join (t, u), v, rest...)); template auto polymorphic_transform (F f, Rs... rs) -> decltype (join (transform(rs, f)...)); int main () { polymorphic_transform (0, 0, 0); }