https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94674
--- Comment #5 from Jonathan Wakely ---
Your mistake is thinking that the iterators of views are like the iterators
you're used to.
They're not.
They have different properties (e.g. they might not be copyable, they might not
have operator->,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94674
--- Comment #4 from Jonathan Wakely ---
That iterator doesn't have a pointer type, because in the new Ranges world that
type is not useful. It is no longer required for iterators to have operator->
so what does the 'pointer' type even mean?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94674
--- Comment #3 from gcc-bugs at marehr dot dialup.fu-berlin.de ---
Thank you for pointing me to this.
I find this highly unexpected. There was made a change to `std::type_traits` in
C++20 that sets default values, but it does not apply to all
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94674
Jonathan Wakely changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94674
--- Comment #1 from Jonathan Wakely ---
This is a known defect in the C++20 draft:
https://cplusplus.github.io/LWG/issue3394