Issue 129747
Summary c++23 std::ranges::copy_n advances InputIterator one more time than necessary
Labels new issue
Assignees
Reporter Be3y4uu-K0T
    Repeated error, but for copy_n from ranges. [(old resolved bug)](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50119)

Test program ([godbolt](https://godbolt.org/z/h6cbjqPT7)):
```c++
#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>

int main()
{
    std::istringstream s("1 2 3 4 5");
    std::vector<int> v;
    std::ranges::copy_n(std::istream_iterator<int>(s), 2, std::back_inserter(v));
 std::ranges::copy_n(std::istream_iterator<int>(s), 2, back_inserter(v));

 std::ranges::copy(v, std::ostream_iterator<int>(std::cout, " "));
 std::cout << '\n';
}
```

Run:
`clang++ -std=c++23 index.cc -o index && ./index`

Actual output:
`1 2 4 5`

Expected output:
`1 2 3 4`

Environment:
```
% clang++ -v
Homebrew clang version 18.1.8
Target: arm64-apple-darwin24.3.0
Thread model: posix
InstalledDir: /opt/homebrew/bin
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to