]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Fix views::zip_transform constraints for empty range pack [PR111138]
authorTomasz Kamiński <tkaminsk@redhat.com>
Fri, 7 Mar 2025 10:54:38 +0000 (11:54 +0100)
committerTomasz Kamiński <tkaminsk@redhat.com>
Fri, 14 Mar 2025 13:28:29 +0000 (14:28 +0100)
commit5abe571e0276fafcc6eed27c27abb28943e67c6f
tree9119ffff9b27d6cb75fa3d5c9d4a15314e2faf18
parentb673d7b593f63a526a85d56204f1217bc4fbf6a1
libstdc++: Fix views::zip_transform constraints for empty range pack [PR111138]

Add missing move_constructible && regular_invocable constrains on functor type,
and is_object on functor result type for invocations of views::zip_transform
without range arguments.

PR libstdc++/111138

libstdc++-v3/ChangeLog:

* include/std/ranges (_ZipTransform::operator()):
Create separate overload for calls with empty range pack,
and add move_constructible, regular_invocable and
is_object_v<invoke_result_t<...>>> constraints.
* testsuite/std/ranges/zip_transform/1.cc: New tests

Reviewed-by: Patrick Palka <ppalka@redhat.com>
Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
libstdc++-v3/include/std/ranges
libstdc++-v3/testsuite/std/ranges/zip_transform/1.cc