| // 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); |