jamesETsmith wrote: Making the operations conditionals was pretty straightforward, but `using difference_type = std::iter_difference_t<T>` is causing problems because it requires that all `T` types implement `T::difference_type` which I think is too strong a requirement. For example, this will cause `Proxy<MoveOnly>` to crash because `MoveOnly` doesn't implement `difference_type`.
My gut reaction was to try and make that alias require a concept, but the more I try to get something like a "conditional alias" to work the more it feels like that isn't allowed and I'm thinking about this the wrong way. Do you have any suggestions @philnik777? Here's an updated minimal example showing the crash that I'm talking about: https://godbolt.org/z/KocGjhPhz https://github.com/llvm/llvm-project/pull/68494 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits