diff --git a/include/beman/execution26/detail/gather_signatures.hpp b/include/beman/execution26/detail/gather_signatures.hpp index 9630e6ce..7c65a2b3 100644 --- a/include/beman/execution26/detail/gather_signatures.hpp +++ b/include/beman/execution26/detail/gather_signatures.hpp @@ -23,6 +23,7 @@ struct same_tag { }; template struct bound_tag { + using type = Tag; template using predicate = ::beman::execution26::detail::same_tag; }; @@ -69,14 +70,12 @@ template class Variant> requires requires { typename ::beman::execution26::detail::gather_signatures_helper< - ::beman::execution26::detail::meta:: - filter<::beman::execution26::detail::bound_tag::template predicate, signatures>, + ::beman::execution26::detail::meta::filter_tag<::beman::execution26::detail::same_tag, Tag, signatures>, Tuple, Variant>::type; } using gather_signatures = ::beman::execution26::detail::gather_signatures_helper< - ::beman::execution26::detail::meta::filter<::beman::execution26::detail::bound_tag::template predicate, - signatures>, + ::beman::execution26::detail::meta::filter_tag<::beman::execution26::detail::same_tag, Tag, signatures>, Tuple, Variant>::type; } // namespace beman::execution26::detail diff --git a/include/beman/execution26/detail/meta_filter.hpp b/include/beman/execution26/detail/meta_filter.hpp index e77c3915..d286e2ac 100644 --- a/include/beman/execution26/detail/meta_filter.hpp +++ b/include/beman/execution26/detail/meta_filter.hpp @@ -13,22 +13,44 @@ namespace beman::execution26::detail::meta::detail { template