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 |
|---|---|---|
| .. | ||
| common_type | Loading commit data... | |
| debug | Loading commit data... | |
| exception | Loading commit data... | |
| hash_fn | Loading commit data... | |
| io | Loading commit data... | |
| native_type | Loading commit data... | |
| performance | Loading commit data... | |
| pstl | Loading commit data... | |
| regression | Loading commit data... | |
| statistic | Loading commit data... | |
| thread | Loading commit data... | |
| replacement_memory_operators.h | Loading commit data... | |
| slow_clock.h | Loading commit data... | |
| specfun_testcase.h | Loading commit data... | |
| testsuite_abi.cc | Loading commit data... | |
| testsuite_abi.h | Loading commit data... | |
| testsuite_abi_check.cc | Loading commit data... | |
| testsuite_allocator.cc | Loading commit data... | |
| testsuite_allocator.h | Loading commit data... | |
| testsuite_api.h | Loading commit data... | |
| testsuite_character.cc | Loading commit data... | |
| testsuite_character.h | Loading commit data... | |
| testsuite_common_types.h | Loading commit data... | |
| testsuite_container_traits.h | Loading commit data... | |
| testsuite_containergen.h | Loading commit data... | |
| testsuite_containers.h | Loading commit data... | |
| testsuite_counter_type.h | Loading commit data... | |
| testsuite_error.h | Loading commit data... | |
| testsuite_fs.h | Loading commit data... | |
| testsuite_greedy_ops.h | Loading commit data... | |
| testsuite_hooks.cc | Loading commit data... | |
| testsuite_hooks.h | Loading commit data... | |
| testsuite_io.h | Loading commit data... | |
| testsuite_iterators.h | Loading commit data... | |
| testsuite_new_operators.h | Loading commit data... | |
| testsuite_performance.h | Loading commit data... | |
| testsuite_random.h | Loading commit data... | |
| testsuite_regex.h | Loading commit data... | |
| testsuite_rng.h | Loading commit data... | |
| testsuite_rvalref.h | Loading commit data... | |
| testsuite_shared.cc | Loading commit data... | |
| testsuite_tr1.h | Loading commit data... |