1 // PR c++/86098
2 // { dg-do compile { target c++17 } }
3 
4 template <class _Res> class future;
5 template <class T> T&& declval();
6 
7 template<template <class...> class T>
8 struct construct_deduced {
9   template <class... AN>
10   using deduced_t = decltype(T{declval<AN>()...});
11   template<class... AN>
12   deduced_t<AN...> operator()(AN&&... an) const;
13 };
14 
15 template<class T>
16 future<T> future_from(T singleSender);
17