// PR c++/82249
// { dg-do compile { target c++14 } }
template<class T, class U> T calc (T t, U u) { return t; }
template <class... Ts> void sink(Ts...);
template < typename ... Ds >
void f(Ds ...) {
  [](auto ... n){
    sink (calc(n, Ds{}) ...);
  }(Ds{} ...);
}
int main(){
  f();      // Wrong error
  f(0, 0);  // Wrong error
  f(0);     // ICE
}