[Bug libstdc++/94674] std::ranges::basic_istream_view::iterator is missing std::iterator_traits entries

2020-04-20 Thread redi at gcc dot gnu.org
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->,

[Bug libstdc++/94674] std::ranges::basic_istream_view::iterator is missing std::iterator_traits entries

2020-04-20 Thread redi at gcc dot gnu.org
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?

[Bug libstdc++/94674] std::ranges::basic_istream_view::iterator is missing std::iterator_traits entries

2020-04-20 Thread gcc-bugs at marehr dot dialup.fu-berlin.de
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

[Bug libstdc++/94674] std::ranges::basic_istream_view::iterator is missing std::iterator_traits entries

2020-04-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94674 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug libstdc++/94674] std::ranges::basic_istream_view::iterator is missing std::iterator_traits entries

2020-04-20 Thread redi at gcc dot gnu.org
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