// { dg-do compile { target c++11 } }

template< typename Fn > struct function;

template< typename Result, typename ... ArgTypes >
struct function< auto (ArgTypes...)->Result > {
};

int main()
{
   function< auto(double)->int > y;
   return 0;
}
