Я просматривал различные предложения Range TS, в том числе P0896, один из которых включает диапазоны в С++ 20. По моему мнению, единственное требование, которое концепция Iterator делает в терминах разыменования, состоит в том, что *t является допустимым синтаксисом, который дает объект некоторого типа.
Поскольку InputIterator определяется как Iterator и является Readable, ни одна из которых не требует поддержки operator->, похоже, что TS и С++ 20 не требуют, чтобы итераторы предоставляли -> поддержку.
Это так?