aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/class-deduction58.C
blob: 0613a9e9a7b076fb2e008c7ff192feeb6c86b7c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// PR c++/86098
// { dg-do compile { target 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);