[clang] [Clang][C++26] Implement P3865R1 - CTAD for type template template parameters (PR #191409)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 22 02:32:35 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 105121 tests passed
* 3675 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### llvm-libc++-shared-cfg-in
<details>
<summary>llvm-libc++-shared-cfg-in.libcxx/ranges/range_utility/range_utility_conv/nodiscard.verify.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# COMPILED WITH
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/ranges/range.utility/range.utility.conv/nodiscard.verify.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/x86_64-unknown-linux-gnu/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -fsyntax-only -Wno-error -Xclang -verify -Xclang -verify-ignore-unexpected=note -ferror-limit=0
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/libcxx/ranges/range.utility/range.utility.conv/nodiscard.verify.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/x86_64-unknown-linux-gnu/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -fsyntax-only -Wno-error -Xclang -verify -Xclang -verify-ignore-unexpected=note -ferror-limit=0
# .---command stderr------------
# | error: 'expected-error' diagnostics seen but not expected:
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 188: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 193: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 86: static assertion failed due to requirement 'is_class_v<int> || is_union_v<int>': The target must be a class type or union type
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 130: static assertion failed: ranges::to: unable to convert to the given container type.
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 188: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 193: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 86: static assertion failed due to requirement 'is_class_v<int> || is_union_v<int>': The target must be a class type or union type
# | File /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h Line 130: static assertion failed: ranges::to: unable to convert to the given container type.
# | 8 errors generated.
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>llvm-libc++-shared-cfg-in.std/ranges/range_utility/range_utility_conv/to_deduction.pass.cpp</summary>
```
Exit Code: 1
Command Output (stdout):
--
# COMPILED WITH
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/x86_64-unknown-linux-gnu/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/lib/x86_64-unknown-linux-gnu -Wl,-rpath,/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/lib/x86_64-unknown-linux-gnu -lc++ -latomic -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test/std/ranges/range.utility/range.utility.conv/Output/to_deduction.pass.cpp.dir/t.tmp.exe
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/./bin/clang++ /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/x86_64-unknown-linux-gnu/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1 -I /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/lib/x86_64-unknown-linux-gnu -Wl,-rpath,/home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/lib/x86_64-unknown-linux-gnu -lc++ -latomic -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test/std/ranges/range.utility/range.utility.conv/Output/to_deduction.pass.cpp.dir/t.tmp.exe
# .---command stderr------------
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: error: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | 188 | static_assert(__always_false<_Range>,
# | | ^~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:34: note: in instantiation of member function 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &>::__deduce_func' requested here
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:200:32: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &>' requested here
# | 200 | using _DeduceExpr = typename _Deducer<_Container, _Range, _Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:62:86: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithDirectCtr, std::array<int, 5> &>' requested here
# | 62 | std::same_as<ContainerWithDirectCtr<int>> decltype(auto) result = std::ranges::to<ContainerWithDirectCtr>(in);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: note: because 'std::array<int, 5> &' does not satisfy '__always_false'
# | 188 | static_assert(__always_false<_Range>,
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:25: error: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:200:32: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &>' requested here
# | 200 | using _DeduceExpr = typename _Deducer<_Container, _Range, _Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:62:86: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithDirectCtr, std::array<int, 5> &>' requested here
# | 62 | std::same_as<ContainerWithDirectCtr<int>> decltype(auto) result = std::ranges::to<ContainerWithDirectCtr>(in);
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:86:17: error: static assertion failed due to requirement 'is_class_v<int> || is_union_v<int>': The target must be a class type or union type
# | 86 | static_assert(is_class_v<_Container> || is_union_v<_Container>, "The target must be a class type or union type");
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:201:18: note: in instantiation of function template specialization 'std::ranges::to<int, std::array<int, 5> &>' requested here
# | 201 | return ranges::to<_DeduceExpr>(std::forward<_Range>(__range), std::forward<_Args>(__args)...);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:62:86: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithDirectCtr, std::array<int, 5> &>' requested here
# | 62 | std::same_as<ContainerWithDirectCtr<int>> decltype(auto) result = std::ranges::to<ContainerWithDirectCtr>(in);
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:130:21: error: static assertion failed: ranges::to: unable to convert to the given container type.
# | 130 | static_assert(__always_false<_Container>, "ranges::to: unable to convert to the given container type.");
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:130:21: note: because 'int' does not satisfy '__always_false'
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:62:12: error: deduced type 'int' does not satisfy 'same_as<ContainerWithDirectCtr<int>>'
# | 62 | std::same_as<ContainerWithDirectCtr<int>> decltype(auto) result = std::ranges::to<ContainerWithDirectCtr>(in);
# | | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/same_as.h:29:19: note: because '__same_as_impl<int, ContainerWithDirectCtr<int>>' evaluated to false
# | 29 | concept same_as = __same_as_impl<_Tp, _Up> && __same_as_impl<_Up, _Tp>;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/same_as.h:26:26: note: because '_IsSame<int, ContainerWithDirectCtr<int>>::value' evaluated to false
# | 26 | concept __same_as_impl = _IsSame<_Tp, _Up>::value;
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: error: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | 188 | static_assert(__always_false<_Range>,
# | | ^~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:34: note: in instantiation of member function 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, int &, char &>::__deduce_func' requested here
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:200:32: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, int &, char &>' requested here
# | 200 | using _DeduceExpr = typename _Deducer<_Container, _Range, _Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:71:24: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithDirectCtr, std::array<int, 5> &, int &, char &>' requested here
# | 71 | std::ranges::to<ContainerWithDirectCtr>(in, arg1, arg2);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: note: because 'std::array<int, 5> &' does not satisfy '__always_false'
# | 188 | static_assert(__always_false<_Range>,
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:25: error: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:200:32: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, int &, char &>' requested here
# | 200 | using _DeduceExpr = typename _Deducer<_Container, _Range, _Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:71:24: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithDirectCtr, std::array<int, 5> &, int &, char &>' requested here
# | 71 | std::ranges::to<ContainerWithDirectCtr>(in, arg1, arg2);
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:86:17: error: static assertion failed due to requirement 'is_class_v<int> || is_union_v<int>': The target must be a class type or union type
# | 86 | static_assert(is_class_v<_Container> || is_union_v<_Container>, "The target must be a class type or union type");
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:201:18: note: in instantiation of function template specialization 'std::ranges::to<int, std::array<int, 5> &, int &, char &>' requested here
# | 201 | return ranges::to<_DeduceExpr>(std::forward<_Range>(__range), std::forward<_Args>(__args)...);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:71:24: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithDirectCtr, std::array<int, 5> &, int &, char &>' requested here
# | 71 | std::ranges::to<ContainerWithDirectCtr>(in, arg1, arg2);
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:130:21: error: static assertion failed: ranges::to: unable to convert to the given container type.
# | 130 | static_assert(__always_false<_Container>, "ranges::to: unable to convert to the given container type.");
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:130:21: note: because 'int' does not satisfy '__always_false'
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:70:12: error: deduced type 'int' does not satisfy 'same_as<ContainerWithDirectCtr<int>>'
# | 70 | std::same_as<ContainerWithDirectCtr<int>> decltype(auto) result =
# | | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/same_as.h:29:19: note: because '__same_as_impl<int, ContainerWithDirectCtr<int>>' evaluated to false
# | 29 | concept same_as = __same_as_impl<_Tp, _Up> && __same_as_impl<_Up, _Tp>;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/same_as.h:26:26: note: because '_IsSame<int, ContainerWithDirectCtr<int>>::value' evaluated to false
# | 26 | concept __same_as_impl = _IsSame<_Tp, _Up>::value;
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: error: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | 188 | static_assert(__always_false<_Range>,
# | | ^~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:34: note: in instantiation of member function 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, const int &, const char &>::__deduce_func' requested here
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:229:53: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, const int &, const char &>' requested here
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20: note: in instantiation of default argument for 'operator()<std::array<int, 5> &, const int &, const char &>' required here
# | 228 | auto __to_func = []<input_range _Range, class... _Tail,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230 | (_Range&& __range, _Tail&& ... __tail) static
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 231 | requires requires { //
# | | ~~~~~~~~~~~~~~~~~~~~~~
# | 232 | /**/ ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233 | }
# | | ~
# | 234 | {
# | | ~
# | 235 | return ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 236 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:77:47: note: while substituting deduced template arguments into function template 'operator()' [with _Range = std::array<int, 5> &, _Tail = <const int &, const char &>, _DeducedExpr = (no value)]
# | 77 | struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: during template argument deduction for class template partial specialization '__invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...>' [with _Args = <const (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20) &, std::array<int, 5> &, const int &, const char &>]
# | 85 | using __invoke_result_t _LIBCPP_NODEBUG = typename __invoke_result<_Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: (skipping 18 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
# | 27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: while checking the satisfaction of concept 'invocable<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' requested here
# | 71 | requires invocable<_Closure, _Range>
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while checking constraint satisfaction for template 'operator|<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' required here
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while substituting deduced template arguments into function template 'operator|' [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: note: because 'std::array<int, 5> &' does not satisfy '__always_false'
# | 188 | static_assert(__always_false<_Range>,
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:25: error: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:229:53: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, const int &, const char &>' requested here
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20: note: in instantiation of default argument for 'operator()<std::array<int, 5> &, const int &, const char &>' required here
# | 228 | auto __to_func = []<input_range _Range, class... _Tail,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230 | (_Range&& __range, _Tail&& ... __tail) static
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 231 | requires requires { //
# | | ~~~~~~~~~~~~~~~~~~~~~~
# | 232 | /**/ ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233 | }
# | | ~
# | 234 | {
# | | ~
# | 235 | return ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 236 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:77:47: note: while substituting deduced template arguments into function template 'operator()' [with _Range = std::array<int, 5> &, _Tail = <const int &, const char &>, _DeducedExpr = (no value)]
# | 77 | struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: during template argument deduction for class template partial specialization '__invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...>' [with _Args = <const (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20) &, std::array<int, 5> &, const int &, const char &>]
# | 85 | using __invoke_result_t _LIBCPP_NODEBUG = typename __invoke_result<_Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: in instantiation of template class 'std::__invoke_result_impl<void, const (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20) &, std::array<int, 5> &, const int &, const char &>' requested here
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:395:1: note: (skipping 17 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
# | 395 | using invoke_result_t = __invoke_result_t<_Fn, _Args...>;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
# | 27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: while checking the satisfaction of concept 'invocable<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' requested here
# | 71 | requires invocable<_Closure, _Range>
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while checking constraint satisfaction for template 'operator|<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' required here
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while substituting deduced template arguments into function template 'operator|' [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: error: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | 188 | static_assert(__always_false<_Range>,
# | | ^~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:34: note: in instantiation of member function 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, int, char>::__deduce_func' requested here
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:229:53: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, int, char>' requested here
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20: note: in instantiation of default argument for 'operator()<std::array<int, 5> &, int, char>' required here
# | 228 | auto __to_func = []<input_range _Range, class... _Tail,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230 | (_Range&& __range, _Tail&& ... __tail) static
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 231 | requires requires { //
# | | ~~~~~~~~~~~~~~~~~~~~~~
# | 232 | /**/ ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233 | }
# | | ~
# | 234 | {
# | | ~
# | 235 | return ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 236 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:77:47: note: while substituting deduced template arguments into function template 'operator()' [with _Range = std::array<int, 5> &, _Tail = <int, char>, _DeducedExpr = (no value)]
# | 77 | struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: during template argument deduction for class template partial specialization '__invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...>' [with _Args = <(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::array<int, 5> &, int, char>]
# | 85 | using __invoke_result_t _LIBCPP_NODEBUG = typename __invoke_result<_Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: (skipping 18 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
# | 27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: while checking the satisfaction of concept 'invocable<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' requested here
# | 71 | requires invocable<_Closure, _Range>
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while checking constraint satisfaction for template 'operator|<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' required here
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while substituting deduced template arguments into function template 'operator|' [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: note: because 'std::array<int, 5> &' does not satisfy '__always_false'
# | 188 | static_assert(__always_false<_Range>,
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:25: error: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:229:53: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, int, char>' requested here
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20: note: in instantiation of default argument for 'operator()<std::array<int, 5> &, int, char>' required here
# | 228 | auto __to_func = []<input_range _Range, class... _Tail,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230 | (_Range&& __range, _Tail&& ... __tail) static
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 231 | requires requires { //
# | | ~~~~~~~~~~~~~~~~~~~~~~
# | 232 | /**/ ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233 | }
# | | ~
# | 234 | {
# | | ~
# | 235 | return ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 236 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:77:47: note: while substituting deduced template arguments into function template 'operator()' [with _Range = std::array<int, 5> &, _Tail = <int, char>, _DeducedExpr = (no value)]
# | 77 | struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: during template argument deduction for class template partial specialization '__invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...>' [with _Args = <(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::array<int, 5> &, int, char>]
# | 85 | using __invoke_result_t _LIBCPP_NODEBUG = typename __invoke_result<_Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: in instantiation of template class 'std::__invoke_result_impl<void, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::array<int, 5> &, int, char>' requested here
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:395:1: note: (skipping 17 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
# | 395 | using invoke_result_t = __invoke_result_t<_Fn, _Args...>;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
# | 27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: while checking the satisfaction of concept 'invocable<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' requested here
# | 71 | requires invocable<_Closure, _Range>
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while checking constraint satisfaction for template 'operator|<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' required here
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while substituting deduced template arguments into function template 'operator|' [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: error: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | 188 | static_assert(__always_false<_Range>,
# | | ^~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:34: note: in instantiation of member function 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, const int, const char>::__deduce_func' requested here
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:229:53: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, const int, const char>' requested here
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20: note: in instantiation of default argument for 'operator()<std::array<int, 5> &, const int, const char>' required here
# | 228 | auto __to_func = []<input_range _Range, class... _Tail,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230 | (_Range&& __range, _Tail&& ... __tail) static
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 231 | requires requires { //
# | | ~~~~~~~~~~~~~~~~~~~~~~
# | 232 | /**/ ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233 | }
# | | ~
# | 234 | {
# | | ~
# | 235 | return ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 236 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:77:47: note: while substituting deduced template arguments into function template 'operator()' [with _Range = std::array<int, 5> &, _Tail = <const int, const char>, _DeducedExpr = (no value)]
# | 77 | struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: during template argument deduction for class template partial specialization '__invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...>' [with _Args = <const (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::array<int, 5> &, const int, const char>]
# | 85 | using __invoke_result_t _LIBCPP_NODEBUG = typename __invoke_result<_Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: (skipping 18 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
# | 27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: while checking the satisfaction of concept 'invocable<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' requested here
# | 71 | requires invocable<_Closure, _Range>
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while checking constraint satisfaction for template 'operator|<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' required here
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while substituting deduced template arguments into function template 'operator|' [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: note: because 'std::array<int, 5> &' does not satisfy '__always_false'
# | 188 | static_assert(__always_false<_Range>,
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:25: error: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:229:53: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithDirectCtr, std::array<int, 5> &, const int, const char>' requested here
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20: note: in instantiation of default argument for 'operator()<std::array<int, 5> &, const int, const char>' required here
# | 228 | auto __to_func = []<input_range _Range, class... _Tail,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229 | class _DeducedExpr = typename _Deducer<_Container, _Range, _Tail...>::type>
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 230 | (_Range&& __range, _Tail&& ... __tail) static
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 231 | requires requires { //
# | | ~~~~~~~~~~~~~~~~~~~~~~
# | 232 | /**/ ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 233 | }
# | | ~
# | 234 | {
# | | ~
# | 235 | return ranges::to<_DeducedExpr>(std::forward<_Range>(__range), std::forward<_Tail>(__tail)...);
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 236 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:77:47: note: while substituting deduced template arguments into function template 'operator()' [with _Range = std::array<int, 5> &, _Tail = <const int, const char>, _DeducedExpr = (no value)]
# | 77 | struct __invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...> {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: during template argument deduction for class template partial specialization '__invoke_result_impl<__void_t<decltype(__builtin_invoke(std::declval<_Args>()...))>, _Args...>' [with _Args = <const (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::array<int, 5> &, const int, const char>]
# | 85 | using __invoke_result_t _LIBCPP_NODEBUG = typename __invoke_result<_Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:85:1: note: in instantiation of template class 'std::__invoke_result_impl<void, const (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::array<int, 5> &, const int, const char>' requested here
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__type_traits/invoke.h:395:1: note: (skipping 17 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
# | 395 | using invoke_result_t = __invoke_result_t<_Fn, _Args...>;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: in instantiation of requirement here
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:27:21: note: while substituting template arguments into constraint expression here
# | 27 | concept invocable = requires(_Fn&& __fn, _Args&&... __args) {
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29 | };
# | | ~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: while checking the satisfaction of concept 'invocable<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' requested here
# | 71 | requires invocable<_Closure, _Range>
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while checking constraint satisfaction for template 'operator|<std::array<int, 5> &, std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>>' required here
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: note: while substituting deduced template arguments into function template 'operator|' [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:77:18: error: invalid operands to binary expression ('std::array<int, 1 + sizeof...(_Args)>' (aka 'array<int, 1 + sizeof...(_Args)>') and '__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>' (aka 'std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>'))
# | 77 | assert((in | std::ranges::to<ContainerWithDirectCtr>(arg1, arg2)) == result);
# | | ~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /usr/include/assert.h:103:27: note: expanded from macro 'assert'
# | 103 | (static_cast <bool> (expr) \
# | | ^~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__cstddef/byte.h:26:45: note: candidate function not viable: no known conversion from 'std::array<int, 1 + sizeof...(_Args)>' (aka 'array<int, 1 + sizeof...(_Args)>') to 'byte' for 1st argument
# | 26 | _LIBCPP_HIDE_FROM_ABI inline constexpr byte operator|(byte __lhs, byte __rhs) noexcept {
# | | ^ ~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:73:1: note: candidate template ignored: constraints not satisfied [with _Range = std::array<int, 1 + sizeof...(_Args)> &, _Closure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | 73 | operator|(_Range&& __range, _Closure&& __closure) noexcept(is_nothrow_invocable_v<_Closure, _Range>) {
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:71:12: note: because 'invocable<std::ranges::__pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char> > >, std::array<int, 5> &>' evaluated to false
# | 71 | requires invocable<_Closure, _Range>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__concepts/invocable.h:28:3: note: because 'std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...)' would be invalid: no matching function for call to 'invoke'
# | 28 | std::invoke(std::forward<_Fn>(__fn), std::forward<_Args>(__args)...); // not required to be equality preserving
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:79:52: note: candidate template ignored: constraints not satisfied [with _Closure = std::array<int, 1 + sizeof...(_Args)> &, _OtherClosure = __pipeable<std::__bind_back_t<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:228:20), std::tuple<int, char>>>]
# | 79 | [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto operator|(_Closure&& __c1, _OtherClosure&& __c2) noexcept(
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:77:11: note: because 'std::array<int, 5> &' does not satisfy '_RangeAdaptorClosure'
# | 77 | template <_RangeAdaptorClosure _Closure, _RangeAdaptorClosure _OtherClosure>
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/range_adaptor.h:64:32: note: because '!ranges::range<remove_cvref_t<std::array<int, 5> &>>' evaluated to false
# | 64 | concept _RangeAdaptorClosure = !ranges::range<remove_cvref_t<_Tp>> && requires {
# | | ^
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:14:
# | In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/ranges:488:
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: error: static assertion failed: ranges::to: unable to deduce the container type from the template template argument.
# | 188 | static_assert(__always_false<_Range>,
# | | ^~~~~~~~~~~~~~~~~~~~~~
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:34: note: in instantiation of member function 'std::ranges::_Deducer<ContainerWithFromRangeT, std::array<int, 5> &>::__deduce_func' requested here
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:200:32: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithFromRangeT, std::array<int, 5> &>' requested here
# | 200 | using _DeduceExpr = typename _Deducer<_Container, _Range, _Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:83:87: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithFromRangeT, std::array<int, 5> &>' requested here
# | 83 | std::same_as<ContainerWithFromRangeT<int>> decltype(auto) result = std::ranges::to<ContainerWithFromRangeT>(in);
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:188:21: note: because 'std::array<int, 5> &' does not satisfy '__always_false'
# | 188 | static_assert(__always_false<_Range>,
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:76:26: note: because 'false' evaluated to false
# | 76 | concept __always_false = false;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:193:25: error: type 'decltype(__deduce_func())' (aka 'void') cannot be used prior to '::' because it has no members
# | 193 | using type = typename decltype(__deduce_func())::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1/__ranges/to.h:200:32: note: in instantiation of template class 'std::ranges::_Deducer<ContainerWithFromRangeT, std::array<int, 5> &>' requested here
# | 200 | using _DeduceExpr = typename _Deducer<_Container, _Range, _Args...>::type;
# | | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp:83:87: note: in instantiation of function template specialization 'std::ranges::to<ContainerWithFromRangeT, std::array<int, 5> &>' requested here
# | 83 | std::same_as<ContainerWithFromRangeT<int>> decltype(auto) result = std::ranges::to<ContainerWithFromRangeT>(in);
# | | ^
# | fatal error: too many errors emitted, stopping now [-ferror-limit=]
# | 20 errors generated.
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/191409
More information about the cfe-commits
mailing list