- Quality-of-implementation: Avoid calling __unwrap_iter in constexpr contexts.
The user might conceivably write a contiguous iterator where normal iterator
arithmetic is constexpr-friendly but `std::to_address(it)` isn't.
- Bugfix: When you pass contiguous iterators to `std::copy`, you should get
back your contiguous iterator type, not a raw pointer. That means that
libc++ can't `__unwrap_iter` unless it also does `__rewrap_iter`.
Fortunately, this is implementable.
- Improve test coverage of the new `contiguous_iterator` test iterator.
This catches the bug described above.
- Tests: Stop testing that we can `std::copy` //into// an `input_iterator`.
Our test iterators may currently support that, but it seems nonsensical to me.
Differential Revision: https://reviews.llvm.org/D95983
|
||
|---|---|---|
| .. | ||
| alg.binary.search | ||
| alg.clamp | ||
| alg.heap.operations | ||
| alg.lex.comparison | ||
| alg.merge | ||
| alg.min.max | ||
| alg.nth.element | ||
| alg.permutation.generators | ||
| alg.set.operations | ||
| alg.sort | ||
| sortable_helpers.h | ||