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