// { dg-do compile }
// { dg-require-effective-target c++17 }

struct Data
{
  Data() {}
  ~Data() {}

  long long i;
};

struct X
{
  Data a;
  int b;
};

template<class T>
X get(T const&)
{
  return X{};
}

template<class... Ts>
struct pack_type : Ts...
{};

int main()
{
  pack_type<X>{get(1)};
}