Re: [PATCH] libstdc++: Remove overzealous static_asserts from std::span

2020-09-21 Thread Jonathan Wakely via Gcc-patches
On 21/09/20 15:07 -0400, Patrick Palka via Libstdc++ wrote: On Mon, 21 Sep 2020, Patrick Palka wrote: For a span with empty static extent, we currently model the preconditions of front(), back(), and operator[] as if they were mandates, by using a static_assert to verify that extent != 0. This

Re: [PATCH] libstdc++: Remove overzealous static_asserts from std::span

2020-09-21 Thread Patrick Palka via Gcc-patches
_containers/span/back_neg.cc: Remove. > * testsuite/23_containers/span/front_neg.cc: Remove. > * testsuite/23_containers/span/index_op_neg.cc: Remove. Here's a version that rewrites rather than removes the testcases: -- >8 -- Subject: [PATCH] libstdc++: Remove overzealous static_asserts f

[PATCH] libstdc++: Remove overzealous static_asserts from std::span

2020-09-21 Thread Patrick Palka via Gcc-patches
For a span with empty static extent, we currently model the preconditions of front(), back(), and operator[] as if they were mandates, by using a static_assert to verify that extent != 0. This causes us to incorrectly reject valid programs that instantiate these member functions but never call the