aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/class-deduction58.C
blob: 82c3f83710faf7a7ba2949b6dea455a2d68c4728 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// PR c++/86098
// { dg-additional-options -std=c++17 }

template <class _Res> class future;
template <class T> T&& declval();

template<template <class...> class T>
struct construct_deduced {
  template <class... AN>
  using deduced_t = decltype(T{declval<AN>()...});
  template<class... AN>
  deduced_t<AN...> operator()(AN&&... an) const;
};

template<class T>
future<T> future_from(T singleSender);