3#include "gtest/gtest.h"
20constexpr struct PropA :
public stdexec::__query<PropA> {
24 :
public stdexec::__query<FwdPropC>
25 , stdexec::forwarding_query_t {
26 using stdexec::__query<
FwdPropC>::operator();
30TEST(forwarding, queryable) {
32 auto env = stdexec::env{
33 stdexec::prop{
prop_a, 123},
37 static_assert(stdexec::__queryable_with<
decltype(env),
PropA>);
38 static_assert(stdexec::__queryable_with<
decltype(env),
FwdPropC>);
40 auto fwd_env = stdexec::__fwd_env(stdexec::__fwd_env(env));
45 stdexec::__env::__fwd<
46 stdexec::env<stdexec::prop<Tests::Impl::PropA, int>, stdexec::prop<Tests::Impl::FwdPropC, int>>&
50 static_assert(!stdexec::__queryable_with<
decltype(fwd_env),
PropA>);
51 static_assert(stdexec::__queryable_with<
decltype(fwd_env),
FwdPropC>);
Tests::Impl::FwdPropC fwd_prop_c
Tests::Impl::PropA prop_a