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

--- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The standard relaxed the rules slightly for iterator difference types, to
permit integer-class types to be used as difference types (see
[iterator.concept.winc]). However, those integer-class types are
implementation-defined (so not arbitrary program-defined types) and they must
support implicit conversion from all integer types. So _Distance __d = 0; is
required to work.

So I'm not seeing a bug here, and even if we decide to accept program-defined
integer-like class types as iterator difference types, it seems to me that they
should follow the same rules as integer-class types, and support implicit
conversion from real integers.

So I'm inclined to close this, as I don't see any reason to change libstdc++.

Reply via email to