[committed] libstdc++: Make ranges CPOs final and not addressable

Jonathan Wakely jwakely@redhat.com
Tue Jun 15 21:33:33 GMT 2021


On Tue, 15 Jun 2021 at 21:32, Tim Song wrote:
>
> CPOs are specified as actual semiregular function objects that can be
> copied and constructed freely, so it seems a bit hostile to make them
> final/non-addressable? (It's debatable whether the type of a CPO is a
> type "specified in the C++ standard library" for which [derivation]/4
> would apply.)

I noticed that libstdc++ was failing some libc++ tests, but that was
only for ranges::advance etc and not the CPOs. I guess I got a bit
carried away, and it shouldn't apply to the CPOs, only the
[range.iter.ops] "function templates" (which are not really function
templates).



More information about the Gcc-patches mailing list