It seems that in practice std::sentinel_for<I, I> is always true, and so the test_range container doesn't help us detect bugs in ranges code in which we wrongly assume that a sentinel can be manipulated like an iterator. Make the test_range range more strict by having end() unconditionally return a sentinel<I>, and adjust some tests accordingly. libstdc++-v3/ChangeLog: * testsuite/24_iterators/range_operations/distance.cc: Do not assume test_range::end() returns the same type as test_range::begin(). * testsuite/24_iterators/range_operations/next.cc: Likewise. * testsuite/24_iterators/range_operations/prev.cc: Likewise. * testsuite/util/testsuite_iterators.h (__gnu_test::test_range::end): Always return a sentinel<I>.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 17_intro | Loading commit data... | |
| 18_support | Loading commit data... | |
| 19_diagnostics | Loading commit data... | |
| 20_util | Loading commit data... | |
| 21_strings | Loading commit data... | |
| 22_locale | Loading commit data... | |
| 23_containers | Loading commit data... | |
| 24_iterators | Loading commit data... | |
| 25_algorithms | Loading commit data... | |
| 26_numerics | Loading commit data... | |
| 27_io | Loading commit data... | |
| 28_regex | Loading commit data... | |
| 29_atomics | Loading commit data... | |
| 30_threads | Loading commit data... | |
| abi | Loading commit data... | |
| backward | Loading commit data... | |
| config | Loading commit data... | |
| data | Loading commit data... | |
| decimal | Loading commit data... | |
| experimental | Loading commit data... | |
| ext | Loading commit data... | |
| lib | Loading commit data... | |
| libstdc++-abi | Loading commit data... | |
| libstdc++-dg | Loading commit data... | |
| libstdc++-prettyprinters | Loading commit data... | |
| libstdc++-xmethods | Loading commit data... | |
| performance | Loading commit data... | |
| special_functions | Loading commit data... | |
| std | Loading commit data... | |
| tr1 | Loading commit data... | |
| tr2 | Loading commit data... | |
| util | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... |