[PATCH] libstdc++: LWG 3286 ranges::size is not required to be valid after ...
Jonathan Wakely
jwakely@redhat.com
Tue Mar 10 17:53:22 GMT 2020
On 09/03/20 14:17 -0400, Patrick Palka wrote:
>... a call to ranges::begin on an input range.
>
>This implements LWG 3286. The new wording for the single-argument
>subrange::subrange constructor is implemented by splitting the constructor into
>two delegating constructors, one constrained by _S_store_size and the other by
>!_S_store_size.
>
>Tested on x86_64-pc-linux-gnu, both tests fail before the patch and pass with
>the patch.
>
>libstdc++-v3/ChangeLog:
>
> LWG 3286 ranges::size is not required to be valid after a call to
> ranges::begin on an input range
> * include/std/ranges (subrange::subrange): Split single-argument
> constructor into two, one constrained by _S_store_size and another by
> !_S_store_size.
> (take_view::begin): Call size() before calling ranges::begin(_M_base).
> * testsuite/std/ranges/adaptors/lwg3286.cc: New test.
> * testsuite/std/ranges/subrange/lwg3286.cc: New test.
OK, thanks.
More information about the Libstdc++
mailing list