--- /dev/null
+// PR c++/65790
+// { dg-do compile { target c++11 } }
+
+extern "C" int printf(const char* ...);
+
+namespace std
+{
+ typedef decltype(sizeof(0)) size_t;
+
+ template<typename _Tp, _Tp... _Idx>
+ struct integer_sequence
+ {
+ typedef _Tp value_type;
+ static constexpr size_t size() { return sizeof...(_Idx); }
+ };
+
+ template<size_t... _Idx>
+ using index_sequence = integer_sequence<size_t, _Idx...>;
+}
+
+void g(std::size_t a, std::size_t b, std::size_t c)
+{
+ printf("%zu, %zu, %zu\n", a, b, c);
+}
+
+template <std::size_t... Seq>
+void f(std::index_sequence<Seq...>)
+{
+ g(Seq...);
+}
+
+int main()
+{
+ f(std::index_sequence<0, 1, 2>());
+}