https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121956

--- Comment #4 from 康桓瑋 <hewillk at gmail dot com> ---
(In reply to Andrew Pinski from comment #2)
> Note I don't think P2165R4 applies here.
> Because that just required:
> ```
>   static_assert(
>     std::is_constructible_v<
>       std::ranges::range_value_t<decltype(r)>, 
>       std::tuple<int, int>
>     >);
>   static_assert(
>     std::is_constructible_v<
>       std::tuple<int, int>,
>       std::ranges::range_value_t<decltype(r)>
>     >);
> ```
> 
> And didn't change std::ranges::views::adjacent how acts.

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2165r4.pdf:

[Editor’s note: Remove [range.zip.view]p1]
Given some pack of types Ts, the alias template tuple-or-pair is defined as
follows:
• If sizeof...(Ts) is 2, tuple-or-pair<Ts...> denotes pair<Ts...>.
• Otherwise, tuple-or-pair<Ts...> denotes tuple<Ts...>.
[Editor’s note: Replace all usages of tuple-or-pair by tuple in the range
clause. This includes
[range.zip], [range.adjacent.iterator] as well as [range.cartesian] if P2374 is
adopted]

Reply via email to